diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 933053162d2..ea9aa2efba6 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -704,6 +704,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura if (checkPodCIDRs == null || checkPodCIDRs.trim().isEmpty() || Boolean.parseBoolean(checkPodCIDRs)) { checkPodCidrSubnets(zoneId, podId, cidr); checkCidrVlanOverlap(zoneId, cidr); + _networkMgr.checkVirtualNetworkCidrOverlap(zoneId, cidr); } Grouping.AllocationState allocationState = null; @@ -2703,7 +2704,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura HashMap> currentPodCidrSubnets = _podDao.getCurrentPodCidrSubnets(dcId, skipPod); List newCidrPair = new ArrayList(); newCidrPair.add(0, getCidrAddress(cidr)); - newCidrPair.add(1, getCidrSize(cidr)); + newCidrPair.add(1, (long)getCidrSize(cidr)); currentPodCidrSubnets.put(new Long(-1), newCidrPair); String zoneName = getZoneName(dcId); diff --git a/server/src/com/cloud/network/NetworkManager.java b/server/src/com/cloud/network/NetworkManager.java index 7304ba70f3c..c1fb4d9e5fb 100755 --- a/server/src/com/cloud/network/NetworkManager.java +++ b/server/src/com/cloud/network/NetworkManager.java @@ -271,4 +271,6 @@ public interface NetworkManager extends NetworkService { public Map> getProviderToIpList(Network network, Map> ipToServices); public boolean checkIpForService(IPAddressVO ip, Service service); + + void checkVirtualNetworkCidrOverlap(Long zoneId, String cidr); } diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 511ad1eaf0f..80695afa0b5 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2017,6 +2017,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag return Integer.parseInt(cidrPair[1]); } + @Override public void checkVirtualNetworkCidrOverlap(Long zoneId, String cidr) { if (zoneId == null) { return;