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
