Lior Vernia has uploaded a new change for review.

Change subject: engine: Send defRoute by VDSM-reported capabilities
......................................................................

engine: Send defRoute by VDSM-reported capabilities

Previously it was sent based on the engine's cluster compatibility
version, which in the case of a < 3.4 host in >= 3.4 cluster
(non-operational but can still receive Setup Networks command) would
cause an exception in VDSM.

Change-Id: I7d8b608e9f68a874daf11e2ae73280fe9961c93d
Bug-Url: https://bugzilla.redhat.com/1085838
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommandTest.java
2 files changed, 8 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/27507/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
index 7b3fbdb..9675d44 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
@@ -8,6 +8,7 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.FeatureSupported;
+import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import 
org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol;
 import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
@@ -62,8 +63,8 @@
                 opts.put(VdsProperties.STP, network.getStp() ? "yes" : "no");
             }
 
-            Version version =
-                    
getDbFacade().getVdsDao().get(getParameters().getVdsId()).getVdsGroupCompatibilityVersion();
+            VDS host = 
getDbFacade().getVdsDao().get(getParameters().getVdsId());
+            Version version = host.getVdsGroupCompatibilityVersion();
             if (qosConfiguredOnInterface(iface, network)
                     && FeatureSupported.hostNetworkQos(version)) {
                 NetworkQosMapper qosMapper =
@@ -71,7 +72,7 @@
                 qosMapper.serialize(iface.isQosOverridden() ? iface.getQos() : 
qosDao.get(network.getQosId()));
             }
 
-            if (FeatureSupported.defaultRoute(version)
+            if 
(FeatureSupported.defaultRoute(Collections.max(host.getSupportedClusterVersionsSet()))
                     && NetworkUtils.isManagementNetwork(network)
                     && (iface.getBootProtocol() == NetworkBootProtocol.DHCP
                     || (iface.getBootProtocol() == 
NetworkBootProtocol.STATIC_IP
diff --git 
a/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommandTest.java
 
b/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommandTest.java
index ae2aa7f..f8660f5 100644
--- 
a/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommandTest.java
+++ 
b/backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommandTest.java
@@ -12,6 +12,7 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
@@ -66,6 +67,9 @@
 
     @Before
     public void mockConfig() {
+        HashSet<Version> supportedClusters = new HashSet<>();
+        supportedClusters.add(version);
+        
when(host.getSupportedClusterVersionsSet()).thenReturn(supportedClusters);
         when(host.getVdsGroupCompatibilityVersion()).thenReturn(version);
         configRule.mockConfigValue(ConfigValues.DefaultRouteSupported, 
version, Boolean.FALSE);
     }


-- 
To view, visit http://gerrit.ovirt.org/27507
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7d8b608e9f68a874daf11e2ae73280fe9961c93d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.4
Gerrit-Owner: Lior Vernia <lver...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to