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 closed and new protocol is used when reconnecting.

Bug-Url: https://bugzilla.redhat.com/1124442
Change-Id: I8cbd88616ae156209deb3b4841fa6a67d93267f0
Signed-off-by: pkliczewski <[email protected]>
---
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/43/32043/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 bb2d719..44eec7d 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
@@ -33,6 +33,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{
@@ -119,6 +120,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;
                 }
@@ -195,6 +199,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 d008e86..cb46990 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 9fcf756..52cf6a4 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/32043
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8cbd88616ae156209deb3b4841fa6a67d93267f0
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Piotr Kliczewski <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to