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

Reply via email to