Lior Vernia has uploaded a new change for review.

Change subject: engine: Set gateway for any network
......................................................................

engine: Set gateway for any network

If a cluster supports multiple gateways, any network should have its
gateway set according to the capabilities reported by VDSM.

Change-Id: Ie6af773b35276371826104df3a8bb2115d39f383
Bug-Url: https://bugzilla.redhat.com/995011
Signed-off-by: Lior Vernia <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
1 file changed, 12 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/18033/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
index fac9e68..729efc8 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
@@ -1235,7 +1235,7 @@
             iface.setSubnet(net.getSubnet());
             boolean bridgedNetwork = isBridgedNetwork(network);
             iface.setBridged(bridgedNetwork);
-            setGatewayIfManagementNetwork(iface, host, net.getGateway());
+            setGatewayIfNecessary(iface, host, net.getGateway());
 
             if (bridgedNetwork) {
                 Map<String, Object> networkConfig = (Map<String, Object>) 
network.get("cfg");
@@ -1295,7 +1295,7 @@
             if (bootproto == NetworkBootProtocol.STATIC_IP) {
                 String gateway = (String) cfg.get(VdsProperties.GATEWAY);
                 if (StringUtils.isNotEmpty(gateway)) {
-                    setGatewayIfManagementNetwork(iface, host, 
gateway.toString());
+                    setGatewayIfNecessary(iface, host, gateway.toString());
                 }
             }
         }
@@ -1317,16 +1317,22 @@
     }
 
     /**
-     * Store the gateway for management network or the active interface only 
(could happen when there is no management
-     * network yet). If gateway was provided for non-management network, its 
value should be ignored.
+     * Store the gateway for either of these cases:
+     * 1. any host network, in a cluster that supports multiple gateways
+     * 2. management network, no matter the cluster compatibility version
+     * 3. the active interface (could happen when there is no management 
network yet)
+     * If gateway was provided for non-management network when multiple 
gateways aren't supported, its value should be ignored.
      *
      * @param iface
      *            the host network interface
+     * @param host
+     *            the host whose interfaces are being edited
      * @param gateway
      *            the gateway value to be set
      */
-    private static void setGatewayIfManagementNetwork(VdsNetworkInterface 
iface, VDS host, String gateway) {
-        if (NetworkUtils.getEngineNetwork().equals(iface.getNetworkName())
+    private static void setGatewayIfNecessary(VdsNetworkInterface iface, VDS 
host, String gateway) {
+        if 
(FeatureSupported.multipleGatewaysSupported(host.getVdsGroupCompatibilityVersion())
+                || 
NetworkUtils.getEngineNetwork().equals(iface.getNetworkName())
                 || iface.getName().equals(host.getActiveNic())) {
             iface.setGateway(gateway);
         }


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

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

Reply via email to