Moti Asayag has uploaded a new change for review.

Change subject: engine: Provide defaultRoute property for management network
......................................................................

engine: Provide defaultRoute property for management network

The engine should pass for setup networks requests a new
property for the management network if it was configured
as DHCP or with a static IP and a gateway was set for it.
The new property will be supported from cluster levels 3.4
and above.

This will allow vdsm to be name-agnostic in regards to the
management network.

Change-Id: Id7bc20065ce28926ceb977c09f0480b345c66da5
Bug-Url: https://bugzilla.redhat.com/1015009
Signed-off-by: Moti Asayag <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SetupNetworksVDSCommand.java
M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
4 files changed, 31 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/23232/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
index 7c64e04..002916a 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
@@ -199,4 +199,13 @@
     public static boolean hotPlugDiskSnapshot(Version version) {
         return supportedInConfig(ConfigValues.HotPlugDiskSnapshotSupported, 
version);
     }
+
+    /**
+     * @param version
+     *            Compatibility version to check for.
+     * @return <code>true</code> if default route is supported for the given 
version.
+     */
+    public static boolean defaultRoute(Version version) {
+        return supportedInConfig(ConfigValues.DefaultRouteSupported, version);
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
index 73502bd..b3a28e0 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
@@ -1519,6 +1519,10 @@
 
     @TypeConverterAttribute(Boolean.class)
     @DefaultValueAttribute("true")
+    DefaultRouteSupported,
+
+    @TypeConverterAttribute(Boolean.class)
+    @DefaultValueAttribute("true")
     CloudInitSupported,
 
     @TypeConverterAttribute(Boolean.class)
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 f84a859..dcb455a 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
@@ -9,8 +9,10 @@
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.FeatureSupported;
 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;
 import 
org.ovirt.engine.core.common.vdscommands.SetupNetworksVdsCommandParameters;
+import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dao.network.NetworkQoSDao;
 import org.ovirt.engine.core.utils.NetworkUtils;
 
@@ -20,6 +22,7 @@
     protected static final String BOOT_PROTOCOL = "bootproto";
     protected static final String BONDING_OPTIONS = "options";
     protected static final String SLAVES = "nics";
+    private static final String DEFAULT_ROUTE = "defaultRoute";
     private static final Map<String, String> REMOVE_OBJ = 
Collections.singletonMap("remove", Boolean.TRUE.toString());
 
     public SetupNetworksVDSCommand(T parameters) {
@@ -59,15 +62,23 @@
                 opts.put(VdsProperties.STP, network.getStp() ? "yes" : "no");
             }
 
+            Version version =
+                    
getDbFacade().getVdsDao().get(getParameters().getVdsId()).getVdsGroupCompatibilityVersion();
             if (qosConfiguredOnInterface(iface, network)
-                    && 
FeatureSupported.hostNetworkQos(getDbFacade().getVdsDao()
-                            .get(getParameters().getVdsId())
-                            .getVdsGroupCompatibilityVersion())) {
+                    && FeatureSupported.hostNetworkQos(version)) {
                 NetworkQosMapper qosMapper =
                         new NetworkQosMapper(opts, 
VdsProperties.HOST_QOS_INBOUND, VdsProperties.HOST_QOS_OUTBOUND);
                 qosMapper.serialize(iface.isQosOverridden() ? iface.getQos() : 
qosDao.get(network.getQosId()));
             }
 
+            if (FeatureSupported.defaultRoute(version)
+                    && NetworkUtils.isManagementNetwork(network)
+                    && (iface.getBootProtocol() == NetworkBootProtocol.DHCP
+                    || iface.getBootProtocol() == NetworkBootProtocol.STATIC_IP
+                            && StringUtils.isNotEmpty(iface.getGateway()))) {
+                opts.put(DEFAULT_ROUTE, Boolean.TRUE);
+            }
+
             networks.put(network.getName(), opts);
         }
 
diff --git a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql 
b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
index 07dcfa9..4b50ba9 100644
--- a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
+++ b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
@@ -198,9 +198,10 @@
 select fn_db_add_config_value('CloudInitSupported','false','3.0');
 select fn_db_add_config_value('CloudInitSupported','false','3.1');
 select fn_db_add_config_value('CloudInitSupported','false','3.2');
-select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.0');
-select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.1');
-select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.2');
+select fn_db_add_config_value('DefaultRouteSupported','false','3.0');
+select fn_db_add_config_value('DefaultRouteSupported','false','3.1');
+select fn_db_add_config_value('DefaultRouteSupported','false','3.2');
+select fn_db_add_config_value('DefaultRouteSupported','false','3.3');
 
 -- by default use no proxy
 select fn_db_add_config_value('SpiceProxyDefault','','general');


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

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

Reply via email to