Updated Branches:
  refs/heads/master 2c1c8045b -> 54c213359

CLOUDSTACK-2984: createNetwork call - when vlan is specified, check that its 
not coming from the physical network vnet range as this range is used for 
dynamic vlan allocation during the network implementation stage


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/54c21335
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/54c21335
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/54c21335

Branch: refs/heads/master
Commit: 54c213359066731f61e8670d7403e97033b30e84
Parents: 2c1c804
Author: Alena Prokharchyk <alena.prokharc...@citrix.com>
Authored: Mon Jul 1 16:08:37 2013 -0700
Committer: Alena Prokharchyk <alena.prokharc...@citrix.com>
Committed: Mon Jul 1 16:17:43 2013 -0700

----------------------------------------------------------------------
 .../com/cloud/configuration/ConfigurationManagerImpl.java    | 4 ++--
 server/src/com/cloud/network/NetworkManagerImpl.java         | 8 +++++++-
 2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/54c21335/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java 
b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
index 2089f82..8d8b126 100755
--- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -3120,10 +3120,10 @@ public class ConfigurationManagerImpl extends 
ManagerBase implements Configurati
             }
         }
 
-        // Check if a guest VLAN is using the same tag
+        // Check if the vlan is being used 
         if (_zoneDao.findVnet(zoneId, physicalNetworkId, vlanId).size() > 0) {
             throw new InvalidParameterValueException("The VLAN tag " + vlanId
-                    + " is already being used for the guest network in zone " 
+ zone.getName());
+                    + " is already being used for dynamic vlan allocation for 
the guest network in zone " + zone.getName());
         }
 
         String ipRange = null;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/54c21335/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java 
b/server/src/com/cloud/network/NetworkManagerImpl.java
index 938d9b1..dac6a3a 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -2467,7 +2467,13 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
             }
         }
 
-        if (vlanId != null) {
+        if (vlanSpecified) {
+            //don't allow to specify vlan tag used by physical network for 
dynamic vlan allocation
+            if (_dcDao.findVnet(zoneId, pNtwk.getId(), vlanId).size() > 0) {
+                throw new InvalidParameterValueException("The VLAN tag " + 
vlanId
+                        + " is already being used for dynamic vlan allocation 
for the guest network in zone " + zone.getName());
+            }
+            
             String uri = "vlan://" + vlanId;
             // For Isolated networks, don't allow to create network with vlan 
that already exists in the zone
             if (ntwkOff.getGuestType() == GuestType.Isolated) {

Reply via email to