Search in sources :

Example 1 with ExternalHostGroup

use of org.ovirt.engine.core.common.businessentities.ExternalHostGroup in project ovirt-engine by oVirt.

the class NewHostModel method discoverHostName_SelectedItemChanged.

private void discoverHostName_SelectedItemChanged() {
    if (Boolean.TRUE.equals(getIsDiscoveredHosts().getEntity())) {
        ExternalDiscoveredHost dhost = (ExternalDiscoveredHost) getExternalDiscoveredHosts().getSelectedItem();
        ExternalHostGroup dhg = (ExternalHostGroup) getExternalHostGroups().getSelectedItem();
        if (dhost != null && dhg != null) {
            setOriginalName(dhost.getName());
            getName().setEntity(dhost.getName());
            getHost().setEntity(// $NON-NLS-1$
            dhost.getName() + "." + // $NON-NLS-1$
            (dhg.getDomainName() != null ? dhg.getDomainName() : ""));
        }
    }
}
Also used : ExternalDiscoveredHost(org.ovirt.engine.core.common.businessentities.ExternalDiscoveredHost) ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup)

Example 2 with ExternalHostGroup

use of org.ovirt.engine.core.common.businessentities.ExternalHostGroup in project ovirt-engine by oVirt.

the class HostPopupView method edit.

@Override
public void edit(final HostModel object) {
    driver.edit(object);
    setTabIndexes(0);
    object.getFetchResult().getEntityChangedEvent().addListener((ev, sender, args) -> {
        String fetchResultText = object.getFetchResult().getEntity();
        if (ConstantsManager.getInstance().getConstants().errorLoadingFingerprint().equals(fetchResultText)) {
            fetchResult.addStyleName(style.fetchResultErrorLabel());
        } else {
            fetchResult.removeStyleName(style.fetchResultErrorLabel());
        }
        fetchResult.setText(fetchResultText);
    });
    object.getPkSection().getPropertyChangedEvent().addListener((ev, sender, args) -> {
        if ("IsAvailable".equals(args.propertyName)) {
            // $NON-NLS-1$
            setPkPasswordSectionVisiblity(false);
        }
    });
    object.getProviders().getSelectedItemChangedEvent().addListener((ev, sender, args) -> object.updateHosts());
    object.getExternalHostProviderEnabled().getEntityChangedEvent().addListener((ev, sender, args) -> {
        boolean showForemanProviders = object.getExternalHostProviderEnabled().getEntity();
        boolean doProvisioning = object.externalProvisionEnabled();
        boolean isProvisioned = showForemanProviders && doProvisioning;
        providersEditor.setVisible(showForemanProviders);
        // showing or hiding radio buttons
        provisionedHostSection.setVisible(isProvisioned);
        discoveredHostSection.setVisible(isProvisioned);
        // disabling ip and name textbox when using provisioned hosts
        hostAddressEditor.setEnabled(!isProvisioned);
        hostAddressLabel.setStyleName(OvirtCss.LABEL_DISABLED, isProvisioned);
        if (isProvisioned) {
            object.updateHosts();
            object.getIsDiscoveredHosts().setEntity(true);
        } else {
            if (doProvisioning) {
                object.cleanHostParametersFields();
            }
            hideProviderWidgets(object);
            object.getIsDiscoveredHosts().setEntity(null);
        }
    });
    object.getIsDiscoveredHosts().getEntityChangedEvent().addListener((ev, sender, args) -> {
        if (object.getIsDiscoveredHosts().getEntity() != null) {
            if (object.getIsDiscoveredHosts().getEntity()) {
                rbDiscoveredHost.asRadioButton().setValue(true);
                showDiscoveredHostsWidgets(true);
            } else if (!object.getIsDiscoveredHosts().getEntity()) {
                rbProvisionedHost.asRadioButton().setValue(true);
                showProvisionedHostsWidgets(true);
            }
        }
    });
    nameEditor.asValueBox().addKeyDownHandler(event -> Scheduler.get().scheduleDeferred(() -> {
        if (object.getExternalHostProviderEnabled().getEntity() && Boolean.TRUE.equals(object.getIsDiscoveredHosts().getEntity())) {
            ExternalHostGroup dhg = (ExternalHostGroup) object.getExternalHostGroups().getSelectedItem();
            if (dhg != null) {
                String base = nameEditor.asEditor().getSubEditor().getValue();
                if (base == null) {
                    base = constants.empty();
                }
                String generatedHostName = // $NON-NLS-1$
                base + "." + (dhg.getDomainName() != null ? dhg.getDomainName() : constants.empty());
                object.getHost().setEntity(generatedHostName);
            }
        }
    }));
    if (object.isPasswordSectionViewable()) {
        rbPassword.setValue(true);
        rbPassword.setFocus(true);
        fetchSshFingerprint.hideLabel();
        object.setAuthenticationMethod(AuthenticationMethod.Password);
        displayPassPkWindow(true);
        rbPassword.addClickHandler(event -> {
            object.setAuthenticationMethod(AuthenticationMethod.Password);
            displayPassPkWindow(true);
        });
        rbPublicKey.addClickHandler(event -> {
            object.setAuthenticationMethod(AuthenticationMethod.PublicKey);
            displayPassPkWindow(false);
        });
    } else {
        passwordSection.getElement().getStyle().setDisplay(Display.NONE);
        rbPublicKey.getElement().getStyle().setDisplay(Display.NONE);
        rbPublicKeyLabel.setStyleName(OvirtCss.LABEL_DISABLED);
        object.setAuthenticationMethod(AuthenticationMethod.PublicKey);
    }
    updateHostsButton.setResource(resources.searchButtonImage());
    // Create SPM related controls.
    IEventListener<EventArgs> spmListener = (ev, sender, args) -> createSpmControls(object);
    object.getSpmPriority().getItemsChangedEvent().addListener(spmListener);
    object.getSpmPriority().getSelectedItemChangedEvent().addListener(spmListener);
    createSpmControls(object);
    initExternalHostProviderWidgets(object.showExternalProviderPanel());
    // TODO: remove setIsChangeable when configured ssh username is enabled
    userNameEditor.setEnabled(false);
    networkProviderTab.setVisible(object.showNetworkProviderTab());
    networkProviderWidget.edit(object.getNetworkProviderModel());
    this.fenceAgentsEditor.edit(object.getFenceAgentListModel());
    this.proxySourceEditor.edit(object.getPmProxyPreferencesList());
    addTextAndLinkAlert(fetchPanel, constants.fetchingHostFingerprint(), object.getSSHFingerPrint());
    providerSearchFilterLabel.setText(constants.hostPopupProviderSearchFilter());
    nameEditor.setFocus(true);
    hostedEngineTab.setVisible(object.getIsHeSystem() && object.getIsNew());
    object.getHostedEngineWarning().getPropertyChangedEvent().addListener((ev, sender, args) -> {
        EntityModel entity = (EntityModel) sender;
        if ("IsAvailable".equals(args.propertyName)) {
            // $NON-NLS-1$
            hostedEngineWarningLabel.setVisible(entity.getIsAvailable());
        }
    });
    affinityLabelSelectionWidget.init(object.getLabelList());
}
Also used : Anchor(com.google.gwt.user.client.ui.Anchor) AssetProvider(org.ovirt.engine.ui.webadmin.gin.AssetProvider) Image(com.google.gwt.user.client.ui.Image) OvirtCss(org.ovirt.engine.ui.common.css.OvirtCss) Inject(com.google.inject.Inject) Container(org.gwtbootstrap3.client.ui.Container) Provider(org.ovirt.engine.core.common.businessentities.Provider) CommonApplicationMessages(org.ovirt.engine.ui.common.CommonApplicationMessages) ApplicationMode(org.ovirt.engine.core.common.mode.ApplicationMode) Column(org.gwtbootstrap3.client.ui.Column) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) StringEntityModelPasswordBoxEditor(org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelPasswordBoxEditor) UiBinder(com.google.gwt.uibinder.client.UiBinder) AuthenticationMethod(org.ovirt.engine.core.common.action.VdsOperationActionParameters.AuthenticationMethod) ExternalEntityBase(org.ovirt.engine.core.common.businessentities.ExternalEntityBase) StringEntityModelTextAreaLabelEditor(org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextAreaLabelEditor) HostNetworkProviderWidget(org.ovirt.engine.ui.webadmin.widget.provider.HostNetworkProviderWidget) FenceAgentsEditor(org.ovirt.engine.ui.webadmin.widget.host.FenceAgentsEditor) Label(com.google.gwt.user.client.ui.Label) RadioButton(com.google.gwt.user.client.ui.RadioButton) AbstractTabbedModelBoundPopupView(org.ovirt.engine.ui.common.view.popup.AbstractTabbedModelBoundPopupView) ConstantsManager(org.ovirt.engine.ui.uicompat.ConstantsManager) HostPopupPresenterWidget(org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostPopupPresenterWidget) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs) InfoIcon(org.ovirt.engine.ui.common.widget.dialog.InfoIcon) OpenstackNetworkProviderProperties(org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties) Display(com.google.gwt.dom.client.Style.Display) SimplePanel(com.google.gwt.user.client.ui.SimplePanel) EventBus(com.google.gwt.event.shared.EventBus) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) UiCommonEditorDriver(org.ovirt.engine.ui.common.editor.UiCommonEditorDriver) GroupedListModelListBox(org.ovirt.engine.ui.common.widget.editor.GroupedListModelListBox) WithElementId(org.ovirt.engine.ui.common.idhandler.WithElementId) ApplicationModeHelper(org.ovirt.engine.ui.uicommonweb.models.ApplicationModeHelper) HasClickHandlers(com.google.gwt.event.dom.client.HasClickHandlers) FlowPanel(com.google.gwt.user.client.ui.FlowPanel) Cluster(org.ovirt.engine.core.common.businessentities.Cluster) GroupedListModelListBoxEditor(org.ovirt.engine.ui.common.widget.editor.GroupedListModelListBoxEditor) CssResource(com.google.gwt.resources.client.CssResource) UiField(com.google.gwt.uibinder.client.UiField) Element(com.google.gwt.dom.client.Element) HostedEngineDeployConfiguration(org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration) AffinityLabelSelectionWithListWidget(org.ovirt.engine.ui.common.widget.AffinityLabelSelectionWithListWidget) DialogTabPanel(org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel) EnumRenderer(org.ovirt.engine.ui.common.widget.renderer.EnumRenderer) HostModel(org.ovirt.engine.ui.uicommonweb.models.hosts.HostModel) ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup) StringEntityModelTextBoxEditor(org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextBoxEditor) IEventListener(org.ovirt.engine.ui.uicompat.IEventListener) StringEntityModelTextBoxOnlyEditor(org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextBoxOnlyEditor) Align(org.ovirt.engine.ui.common.widget.Align) GWT(com.google.gwt.core.client.GWT) TextDecoration(com.google.gwt.dom.client.Style.TextDecoration) Button(org.gwtbootstrap3.client.ui.Button) AdvancedParametersExpander(org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander) ListModelListBoxEditor(org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor) EnableableFormLabel(org.ovirt.engine.ui.common.widget.label.EnableableFormLabel) ApplicationConstants(org.ovirt.engine.ui.webadmin.ApplicationConstants) ListModelTypeAheadListBoxEditor(org.ovirt.engine.ui.common.widget.editor.ListModelTypeAheadListBoxEditor) DialogTab(org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab) ColumnSize(org.gwtbootstrap3.client.ui.constants.ColumnSize) EntityModelCheckBoxEditor(org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) ApplicationResources(org.ovirt.engine.ui.webadmin.ApplicationResources) ElementIdHandler(org.ovirt.engine.ui.common.idhandler.ElementIdHandler) EntityModelRadioButtonEditor(org.ovirt.engine.ui.common.widget.editor.generic.EntityModelRadioButtonEditor) NameRenderer(org.ovirt.engine.ui.common.widget.renderer.NameRenderer) IntegerEntityModelTextBoxEditor(org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor) ApplicationTemplates(org.ovirt.engine.ui.webadmin.ApplicationTemplates) Scheduler(com.google.gwt.core.client.Scheduler) SimpleDialogPanel(org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel) Row(org.gwtbootstrap3.client.ui.Row) TabName(org.ovirt.engine.ui.uicommonweb.models.TabName) HostProxySourceEditor(org.ovirt.engine.ui.webadmin.widget.host.HostProxySourceEditor) Comparator(java.util.Comparator) VDS(org.ovirt.engine.core.common.businessentities.VDS) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs)

Example 3 with ExternalHostGroup

use of org.ovirt.engine.core.common.businessentities.ExternalHostGroup in project ovirt-engine by oVirt.

the class ForemanHostProviderProxy method mapHostGroups.

private List<ExternalHostGroup> mapHostGroups(List<ForemanHostGroup> foremanHostGroups) {
    Map<Integer, ExternalHostGroup> hostGroups = new HashMap<>();
    for (ForemanHostGroup hostGroup : foremanHostGroups) {
        ExternalHostGroup hostgroup = new ExternalHostGroup();
        hostgroup.setHostgroupId(hostGroup.getId());
        hostgroup.setName(hostGroup.getName());
        hostgroup.setOperatingsystemId(hostGroup.getOperatingSystemId());
        hostgroup.setEnvironmentId(hostGroup.getEnvironmentId());
        hostgroup.setDomainId(hostGroup.getDomainId());
        hostgroup.setSubnetId(hostGroup.getSubnetId());
        hostgroup.setParameters(hostGroup.getParameters());
        hostgroup.setMediumId(hostGroup.getMediumId());
        hostgroup.setArchitectureId(hostGroup.getArchitectureId());
        hostgroup.setPtableId(hostGroup.getPtableId());
        hostgroup.setOperatingsystemName(hostGroup.getOperatingSystemName());
        hostgroup.setDomainName(hostGroup.getDomainName());
        hostgroup.setSubnetName(hostGroup.getSubnetName());
        hostgroup.setArchitectureName(hostGroup.getArchitectureName());
        hostgroup.setAncestry(hostGroup.getAncestry());
        hostgroup.setEnvironmentName(hostGroup.getEnvironmentName());
        hostgroup.setPtableName(hostGroup.getPtableName());
        hostgroup.setMediumName(hostGroup.getMediumName());
        hostgroup.setPuppetCaProxyId(hostGroup.getPuppetCaProxyId());
        hostgroup.setPuppetProxyId(hostGroup.getPuppetProxyId());
        hostGroups.put(hostGroup.getId(), hostgroup);
    }
    List<ExternalHostGroup> ret = new ArrayList<>(foremanHostGroups.size());
    for (ForemanHostGroup hostGroup : foremanHostGroups) {
        if (hostGroup.getAncestry() != null) {
            String[] ancestries = hostGroup.getAncestry().split("/");
            if (hostGroup.getMediumName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String medName = hg.getMediumName();
                    if (medName != null) {
                        int medId = hg.getMediumId();
                        hostGroups.get(hostGroup.getId()).setMediumName(medName);
                        hostGroups.get(hostGroup.getId()).setMediumId(medId);
                        break;
                    }
                }
            }
            if (hostGroup.getEnvironmentName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String envName = hg.getEnvironmentName();
                    if (envName != null) {
                        int envId = hg.getEnvironmentId();
                        hostGroups.get(hostGroup.getId()).setEnvironmentName(envName);
                        hostGroups.get(hostGroup.getId()).setEnvironmentId(envId);
                        break;
                    }
                }
            }
            if (hostGroup.getPtableName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String ptableName = hg.getPtableName();
                    if (ptableName != null) {
                        int ptableId = hg.getPtableId();
                        hostGroups.get(hostGroup.getId()).setPtableName(ptableName);
                        hostGroups.get(hostGroup.getId()).setPtableId(ptableId);
                        break;
                    }
                }
            }
            if (hostGroup.getArchitectureName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String archName = hg.getArchitectureName();
                    if (archName != null) {
                        int archId = hg.getArchitectureId();
                        hostGroups.get(hostGroup.getId()).setArchitectureName(archName);
                        hostGroups.get(hostGroup.getId()).setArchitectureId(archId);
                        break;
                    }
                }
            }
            if (hostGroup.getOperatingSystemName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String osName = hg.getOperatingsystemName();
                    if (osName != null) {
                        int osId = hg.getOperatingsystemId();
                        hostGroups.get(hostGroup.getId()).setOperatingsystemName(osName);
                        hostGroups.get(hostGroup.getId()).setOperatingsystemId(osId);
                        break;
                    }
                }
            }
            if (hostGroup.getDomainName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String domainName = hg.getDomainName();
                    if (domainName != null) {
                        int domainId = hg.getDomainId();
                        hostGroups.get(hostGroup.getId()).setDomainName(domainName);
                        hostGroups.get(hostGroup.getId()).setDomainId(domainId);
                        break;
                    }
                }
            }
            if (hostGroup.getSubnetName() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    String subnetName = hg.getSubnetName();
                    if (subnetName != null) {
                        int subnetId = hg.getSubnetId();
                        hostGroups.get(hostGroup.getId()).setSubnetName(subnetName);
                        hostGroups.get(hostGroup.getId()).setSubnetId(subnetId);
                        break;
                    }
                }
            }
            if (hostGroup.getParameters() == null) {
                for (int i = ancestries.length - 1; i >= 0; i--) {
                    ExternalHostGroup hg = hostGroups.get(Integer.parseInt(ancestries[i]));
                    Map<String, String> parameters = hg.getParameters();
                    if (parameters != null) {
                        hostGroups.get(hostGroup.getId()).setParameters(parameters);
                        break;
                    }
                }
            }
        }
        ret.add(hostGroups.get(hostGroup.getId()));
    }
    return ret;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup)

Example 4 with ExternalHostGroup

use of org.ovirt.engine.core.common.businessentities.ExternalHostGroup in project ovirt-engine by oVirt.

the class GetHostGroupsFromExternalProviderQuery method executeQueryCommand.

@Override
protected void executeQueryCommand() {
    Provider hostProvider = getParameters().getProvider();
    List<ExternalHostGroup> providerHostGroups = getProviderHostGroups(hostProvider);
    getQueryReturnValue().setReturnValue(providerHostGroups);
}
Also used : ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup) Provider(org.ovirt.engine.core.common.businessentities.Provider)

Example 5 with ExternalHostGroup

use of org.ovirt.engine.core.common.businessentities.ExternalHostGroup in project ovirt-engine by oVirt.

the class HostListModel method onSaveInternal.

public void onSaveInternal(boolean approveInitiated) {
    HostModel model = (HostModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    VDS host = model.getIsNew() ? new VDS() : (VDS) Cloner.clone(getSelectedItem());
    // Save changes.
    host.setVdsName(model.getName().getEntity());
    host.setComment(model.getComment().getEntity());
    host.setHostName(model.getHost().getEntity().trim());
    host.setPort(Integer.parseInt(model.getPort().getEntity().toString()));
    host.setSshPort(Integer.parseInt(model.getAuthSshPort().getEntity().toString()));
    boolean sshUsernameSet = model.getUserName().getEntity() != null;
    host.setSshUsername(sshUsernameSet ? model.getUserName().getEntity() : null);
    boolean sshFpSet = model.getFetchSshFingerprint().getEntity() != null;
    host.setSshKeyFingerprint(!sshFpSet ? null : model.getFetchSshFingerprint().getEntity());
    host.setVdsSpmPriority(model.getSpmPriorityValue());
    boolean consoleAddressSet = model.getConsoleAddressEnabled().getEntity();
    host.setConsoleAddress(!consoleAddressSet ? null : model.getConsoleAddress().getEntity());
    Guid oldClusterId = host.getClusterId();
    Guid newClusterId = model.getCluster().getSelectedItem().getId();
    host.setClusterId(newClusterId);
    host.setVdsSpmPriority(model.getSpmPriorityValue());
    host.setFenceProxySources(FenceProxySourceTypeHelper.parseFromString(model.getPmProxyPreferences()));
    // Save other PM parameters.
    host.setPmEnabled(model.getIsPm().getEntity());
    host.setDisablePowerManagementPolicy(model.getDisableAutomaticPowerManagement().getEntity());
    host.setPmKdumpDetection(model.getPmKdumpDetection().getEntity());
    host.setCurrentKernelCmdline(model.getKernelCmdline().getEntity());
    host.setKernelCmdlineBlacklistNouveau(model.getKernelCmdlineBlacklistNouveau().getEntity());
    host.setKernelCmdlineParsable(model.isKernelCmdlineParsable());
    host.setKernelCmdlineIommu(model.getKernelCmdlineIommu().getEntity());
    host.setKernelCmdlineKvmNested(model.getKernelCmdlineKvmNested().getEntity());
    host.setKernelCmdlineUnsafeInterrupts(model.getKernelCmdlineUnsafeInterrupts().getEntity());
    host.setKernelCmdlinePciRealloc(model.getKernelCmdlinePciRealloc().getEntity());
    cancelConfirm();
    model.startProgress();
    if (model.getIsNew()) {
        AddVdsActionParameters parameters = new AddVdsActionParameters();
        parameters.setVdsId(host.getId());
        parameters.setvds(host);
        parameters.setFenceAgents(model.getFenceAgentListModel().getFenceAgents());
        if (model.getUserPassword().getEntity() != null) {
            parameters.setPassword(model.getUserPassword().getEntity());
        }
        parameters.setOverrideFirewall(model.getOverrideIpTables().getEntity());
        parameters.setAuthMethod(model.getAuthenticationMethod());
        Provider<?> networkProvider = model.getNetworkProviders().getSelectedItem();
        if (networkProvider != null) {
            parameters.getVdsStaticData().setOpenstackNetworkProviderId(networkProvider.getId());
            parameters.setNetworkMappings(model.getInterfaceMappings().getEntity());
        }
        if (model.getProviders().getSelectedItem() != null) {
            parameters.getVdsStaticData().setHostProviderId(model.getProviders().getSelectedItem().getId());
        }
        if (Boolean.TRUE.equals(model.getIsDiscoveredHosts().getEntity())) {
            Provider<?> provider = model.getProviders().getSelectedItem();
            ExternalHostGroup hostGroup = (ExternalHostGroup) model.getExternalHostGroups().getSelectedItem();
            ExternalComputeResource computeResource = (ExternalComputeResource) model.getExternalComputeResource().getSelectedItem();
            ExternalDiscoveredHost discoveredHost = (ExternalDiscoveredHost) model.getExternalDiscoveredHosts().getSelectedItem();
            parameters.initVdsActionParametersForProvision(provider.getId(), hostGroup, computeResource, discoveredHost.getMac(), discoveredHost.getName(), discoveredHost.getIp());
        }
        parameters.setHostedEngineDeployConfiguration(new HostedEngineDeployConfiguration(model.getHostedEngineHostModel().getSelectedItem()));
        parameters.setAffinityLabels(model.getLabelList().getSelectedItems());
        Frontend.getInstance().runAction(ActionType.AddVds, parameters, result -> {
            Object[] array = (Object[]) result.getState();
            HostListModel<Void> localModel = (HostListModel<Void>) array[0];
            boolean localApproveInitiated = (Boolean) array[1];
            localModel.postOnSaveInternal(result.getReturnValue(), localApproveInitiated);
        }, new Object[] { this, approveInitiated });
    } else {
        // Update VDS -> consists of changing VDS cluster first and then updating rest of VDS properties:
        UpdateVdsActionParameters parameters = new UpdateVdsActionParameters();
        parameters.setvds(host);
        parameters.setVdsId(host.getId());
        // $NON-NLS-1$
        parameters.setPassword("");
        parameters.setInstallHost(false);
        parameters.setAuthMethod(model.getAuthenticationMethod());
        parameters.setFenceAgents(model.getFenceAgentListModel().getFenceAgents());
        parameters.setAffinityLabels(model.getLabelList().getSelectedItems());
        if (model.getExternalHostProviderEnabled().getEntity() && model.getProviders().getSelectedItem() != null) {
            host.setHostProviderId(model.getProviders().getSelectedItem().getId());
        }
        if (!oldClusterId.equals(newClusterId)) {
            Frontend.getInstance().runAction(ActionType.ChangeVDSCluster, new ChangeVDSClusterParameters(newClusterId, host.getId()), result -> {
                Object[] array = (Object[]) result.getState();
                HostListModel<Void> localModel = (HostListModel<Void>) array[0];
                UpdateVdsActionParameters localParameters = (UpdateVdsActionParameters) array[1];
                boolean localApproveInitiated = (Boolean) array[2];
                ActionReturnValue localReturnValue = result.getReturnValue();
                if (localReturnValue != null && localReturnValue.getSucceeded()) {
                    localModel.postOnSaveInternalChangeCluster(localParameters, localApproveInitiated);
                } else {
                    localModel.getWindow().stopProgress();
                }
            }, new Object[] { this, parameters, approveInitiated });
        } else {
            postOnSaveInternalChangeCluster(parameters, approveInitiated);
        }
    }
}
Also used : ExternalComputeResource(org.ovirt.engine.core.common.businessentities.ExternalComputeResource) ExternalDiscoveredHost(org.ovirt.engine.core.common.businessentities.ExternalDiscoveredHost) VDS(org.ovirt.engine.core.common.businessentities.VDS) ExternalHostGroup(org.ovirt.engine.core.common.businessentities.ExternalHostGroup) Guid(org.ovirt.engine.core.compat.Guid) AddVdsActionParameters(org.ovirt.engine.core.common.action.hostdeploy.AddVdsActionParameters) UpdateVdsActionParameters(org.ovirt.engine.core.common.action.hostdeploy.UpdateVdsActionParameters) ActionReturnValue(org.ovirt.engine.core.common.action.ActionReturnValue) ChangeVDSClusterParameters(org.ovirt.engine.core.common.action.ChangeVDSClusterParameters) JsSingleValueStringObject(org.ovirt.engine.ui.frontend.utils.JsSingleValueStringObject) HostedEngineDeployConfiguration(org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration)

Aggregations

ExternalHostGroup (org.ovirt.engine.core.common.businessentities.ExternalHostGroup)5 ExternalDiscoveredHost (org.ovirt.engine.core.common.businessentities.ExternalDiscoveredHost)2 HostedEngineDeployConfiguration (org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration)2 Provider (org.ovirt.engine.core.common.businessentities.Provider)2 VDS (org.ovirt.engine.core.common.businessentities.VDS)2 GWT (com.google.gwt.core.client.GWT)1 Scheduler (com.google.gwt.core.client.Scheduler)1 Element (com.google.gwt.dom.client.Element)1 Display (com.google.gwt.dom.client.Style.Display)1 TextDecoration (com.google.gwt.dom.client.Style.TextDecoration)1 HasClickHandlers (com.google.gwt.event.dom.client.HasClickHandlers)1 EventBus (com.google.gwt.event.shared.EventBus)1 CssResource (com.google.gwt.resources.client.CssResource)1 SafeHtmlUtils (com.google.gwt.safehtml.shared.SafeHtmlUtils)1 UiBinder (com.google.gwt.uibinder.client.UiBinder)1 UiField (com.google.gwt.uibinder.client.UiField)1 Anchor (com.google.gwt.user.client.ui.Anchor)1 FlowPanel (com.google.gwt.user.client.ui.FlowPanel)1 Image (com.google.gwt.user.client.ui.Image)1 Label (com.google.gwt.user.client.ui.Label)1