CLOUDSTACK-3172: Allow creation of private gateway with same Vlan in different VPCs
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7a8d7eaa Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7a8d7eaa Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7a8d7eaa Branch: refs/heads/master Commit: 7a8d7eaa6081fe2aadeb72639cf72d68b7f6981a Parents: 248bea8 Author: Kishan Kavala <kis...@cloud.com> Authored: Thu Jul 4 16:08:18 2013 +0530 Committer: Kishan Kavala <kis...@cloud.com> Committed: Thu Jul 4 16:11:12 2013 +0530 ---------------------------------------------------------------------- server/src/com/cloud/network/NetworkServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7a8d7eaa/server/src/com/cloud/network/NetworkServiceImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 8346871..05df742 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -3903,8 +3903,11 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { s_logger.debug("Created private network " + privateNetwork); } else { s_logger.debug("Private network already exists: " + privateNetwork); - throw new InvalidParameterValueException("Private network for the vlan: " + vlan + " and cidr "+ cidr +" already exists " + - " in zone " + _configMgr.getZone(pNtwk.getDataCenterId()).getName()); + //Do not allow multiple private gateways with same Vlan within a VPC + if(vpcId.equals(privateNetwork.getVpcId())){ + throw new InvalidParameterValueException("Private network for the vlan: " + vlan + " and cidr "+ cidr +" already exists " + + "for Vpc "+vpcId+" in zone " + _configMgr.getZone(pNtwk.getDataCenterId()).getName()); + } } //add entry to private_ip_address table