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) {