diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index ee412b39d19..89041855aea 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -665,6 +665,10 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V static final ConfigKey UseExternalDnsServers = new ConfigKey(Boolean.class, "use.external.dns", "Advanced", "false", "Bypass internal dns, use external dns1 and dns2", true, ConfigKey.Scope.Zone, null); + static final ConfigKey routerVersionCheckEnabled = new ConfigKey("Advanced", Boolean.class, "router.version.check", "true", + "If true, router minimum required version is checked before sending command", false); + + @Override public boolean configure(final String name, final Map params) throws ConfigurationException { @@ -4156,6 +4160,10 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V //Checks if the router is at the required version // Compares MS version and router version private boolean checkRouterVersion(VirtualRouter router){ + if(!routerVersionCheckEnabled.value()){ + //Router version check is disabled. + return true; + } if(router.getTemplateVersion() == null){ return false; } @@ -4198,6 +4206,6 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V @Override public ConfigKey[] getConfigKeys() { - return new ConfigKey[] {UseExternalDnsServers}; + return new ConfigKey[] {UseExternalDnsServers, routerVersionCheckEnabled}; } }