From c37df38c834a7cfc075228c697fc6d358a70f574 Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Sat, 19 Apr 2014 02:25:41 +0200 Subject: [PATCH] CLOUDSTACK-6485: private gateway network should not be associated with vpc Signed-off-by: Daan Hoogland --- server/src/com/cloud/network/NetworkServiceImpl.java | 2 +- server/src/com/cloud/network/vpc/VpcManagerImpl.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index df58e11e01f..7f3f2ff6d62 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -3934,7 +3934,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { } else { s_logger.debug("Private network already exists: " + privateNetwork); //Do not allow multiple private gateways with same Vlan within a VPC - if (vpcId.equals(privateNetwork.getVpcId())) { + if (vpcId != null && vpcId.equals(privateNetwork.getVpcId())) { throw new InvalidParameterValueException("Private network for the vlan: " + uriString + " and cidr " + cidr + " already exists " + "for Vpc " + vpcId + " in zone " + _entityMgr.findById(DataCenter.class, pNtwk.getDataCenterId()).getName()); } diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index 40e910dca07..6400220ab94 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -1428,8 +1428,9 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis if (privateNtwk == null) { s_logger.info("creating new network for vpc " + vpc + " using broadcast uri: " + broadcastUri); String networkName = "vpc-" + vpc.getName() + "-privateNetwork"; + /* vpcid should not be set on the new network as it is not part of the vpc but an outside net */ privateNtwk = _ntwkSvc.createPrivateNetwork(networkName, networkName, physicalNetworkIdFinal, - broadcastUri, ipAddress, null, gateway, netmask, gatewayOwnerId, vpcId, isSourceNat, networkOfferingId); + broadcastUri, ipAddress, null, gateway, netmask, gatewayOwnerId, null, isSourceNat, networkOfferingId); } else { // create the nic/ip as createPrivateNetwork doesn''t do that work for us now DataCenterVO dc = _dcDao.lockRow(physNetFinal.getDataCenterId(), true);