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/0de3a117
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0de3a117
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0de3a117

Branch: refs/heads/4.2
Commit: 0de3a1178873c3d401bb7200d94fc01ade9ceef0
Parents: 812f944
Author: Kishan Kavala <[email protected]>
Authored: Thu Jul 4 16:08:18 2013 +0530
Committer: Kishan Kavala <[email protected]>
Committed: Thu Jul 4 16:14:26 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/0de3a117/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

Reply via email to