use of org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration 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);
}
}
}
use of org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration in project ovirt-engine by oVirt.
the class HostListModel method onInstall.
public void onInstall() {
final VDS host = getSelectedItem();
InstallModel model = (InstallModel) getWindow();
if (!model.validate(host.isOvirtVintageNode())) {
model.setValidationFailed(new EntityModel<>(true));
return;
}
final UpdateVdsActionParameters param = new UpdateVdsActionParameters();
param.setvds(host);
param.setVdsId(host.getId());
param.setPassword(model.getUserPassword().getEntity());
param.setReinstallOrUpgrade(true);
param.setInstallHost(true);
param.setoVirtIsoFile(null);
param.setOverrideFirewall(model.getOverrideIpTables().getEntity());
param.setActivateHost(model.getActivateHostAfterInstall().getEntity());
param.setAuthMethod(model.getAuthenticationMethod());
// Explicitly set null, to be clear we don't want to update fence agents.
param.setFenceAgents(null);
param.setHostedEngineDeployConfiguration(new HostedEngineDeployConfiguration(model.getHostedEngineHostModel().getSelectedItem()));
Provider<?> networkProvider = (Provider<?>) model.getNetworkProviders().getSelectedItem();
if (networkProvider == null) {
param.getVdsStaticData().setOpenstackNetworkProviderId(null);
} else {
param.getVdsStaticData().setOpenstackNetworkProviderId(networkProvider.getId());
param.setNetworkMappings((String) model.getInterfaceMappings().getEntity());
}
AsyncDataProvider.getInstance().getClusterById(new AsyncQuery<>(returnValue -> Frontend.getInstance().runAction(ActionType.InstallVds, param, result -> {
ActionReturnValue returnValue1 = result.getReturnValue();
if (returnValue1 != null && returnValue1.getSucceeded()) {
cancel();
}
})), host.getClusterId());
}
use of org.ovirt.engine.core.common.businessentities.HostedEngineDeployConfiguration in project ovirt-engine by oVirt.
the class HostValidatorTest method allow36HostWithoutDeployingHostedEngine.
@Test
public void allow36HostWithoutDeployingHostedEngine() {
HostedEngineDeployConfiguration heConfig = new HostedEngineDeployConfiguration(HostedEngineDeployConfiguration.Action.NONE);
assertThat(validator.supportsDeployingHostedEngine(heConfig), isValid());
}
Aggregations