Piotr Kliczewski has uploaded a new change for review. Change subject: core: edit host "advanced" parameters to change protocol ......................................................................
core: edit host "advanced" parameters to change protocol Editting host protocol was no possible. This patch enables chaning protocol for host in maintanace mode only. After the change connection is be closed and new protocol is used when reconnecting. Bug-Url: https://bugzilla.redhat.com/1124442 Change-Id: I8cbd88616ae156209deb3b4841fa6a67d93267f0 Signed-off-by: pkliczewski <piotr.kliczew...@gmail.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/EditHostModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java 6 files changed, 22 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/31242/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java index 8eb7f31..e380cef 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java @@ -29,6 +29,7 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; +import org.ovirt.engine.core.vdsbroker.ResourceManager; @NonTransactiveCommandAttribute(forceCompensation = true) public class UpdateVdsCommand<T extends UpdateVdsActionParameters> extends VdsCommand<T> implements RenamedEntityInfoProvider{ @@ -115,6 +116,9 @@ returnValue = validateNetworkProviderProperties(getParameters().getNetworkProviderId(), getParameters().getNetworkMappings()); + } else if (getParameters().getVdsStaticData().getProtocol() != _oldVds.getProtocol() + && _oldVds.getStatus() != VDSStatus.Maintenance) { + addCanDoActionMessage(VdcBllMessages.VDS_STATUS_NOT_VALID_FOR_UPDATE); } else { returnValue = true; } @@ -191,6 +195,10 @@ } } + if (_oldVds.getProtocol() != getParameters().getVdsStaticData().getProtocol()) { + ResourceManager.getInstance().reestablishConnection(_oldVds.getId()); + } + // set clusters network to be operational (if needed) if (_oldVds.getStatus() == VDSStatus.Up) { List<NetworkCluster> networkClusters = DbFacade.getInstance() diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java index 1aa1c52..1f544ff 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java @@ -382,7 +382,7 @@ if (incoming.isSetOverrideIptables()) { updateParams.setOverrideFirewall(incoming.isOverrideIptables()); } - // Update of Transport protocol not supported + updateParams = (UpdateVdsActionParameters) getMapper (Host.class, VdsOperationActionParameters.class).map(incoming, (VdsOperationActionParameters) updateParams); return updateParams; diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java index da36adf..46b1ccc 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java @@ -179,6 +179,12 @@ return EjbUtils.findBean(BeanType.VDS_EVENT_LISTENER, BeanProxyType.LOCAL); } + public void reestablishConnection(Guid vdsId) { + VDS vds = DbFacade.getInstance().getVdsDao().get(vdsId); + RemoveVds(vds.getId()); + AddVds(vds, false); + } + public void AddVds(VDS vds, boolean isInternal) { VdsManager vdsManager = VdsManager.buildVdsManager(vds); if (isInternal) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/EditHostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/EditHostModel.java index b00ab3e..511cd41 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/EditHostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/EditHostModel.java @@ -82,7 +82,10 @@ } @Override - protected boolean showTransportProperties() { + protected boolean showTransportProperties(VDS vds) { + if (VDSStatus.Maintenance.equals(vds.getStatus())) { + return true; + } return false; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java index fa3a748..dc2039d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java @@ -1756,6 +1756,7 @@ setHostId(vds.getId()); getOverrideIpTables().setIsAvailable(showInstallationProperties()); getProtocol().setEntity(VdsProtocol.STOMP == vds.getProtocol()); + getProtocol().setIsAvailable(showTransportProperties(vds)); setSpmPriorityValue(vds.getVdsSpmPriority()); setOriginalName(vds.getName()); getName().setEntity(vds.getName()); @@ -1881,7 +1882,7 @@ protected abstract boolean showInstallationProperties(); - protected abstract boolean showTransportProperties(); + protected abstract boolean showTransportProperties(VDS vds); public abstract boolean showExternalProviderPanel(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java index a286807..d1b53a4 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java @@ -224,7 +224,7 @@ } @Override - protected boolean showTransportProperties() { + protected boolean showTransportProperties(VDS vds) { return true; } } -- To view, visit http://gerrit.ovirt.org/31242 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8cbd88616ae156209deb3b4841fa6a67d93267f0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski <piotr.kliczew...@gmail.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches