From bdfd484444f5517259434fbe4b0a705eac2109e3 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Mon, 21 May 2012 17:40:44 -0700 Subject: [PATCH] Deploy VR as a part of VPC: set elementId to the VR element id of the first physical network in the zone by now. TODO - add logic for handling the case when VR has 1 to many element ids relationship --- .../router/VpcVirtualNetworkApplianceManagerImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index 55b6070459e..68c9bdba894 100644 --- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -25,9 +25,11 @@ import com.cloud.deploy.DeploymentPlan; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.PhysicalNetwork; import com.cloud.network.VirtualRouterProvider; import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType; import com.cloud.network.addr.PublicIp; +import com.cloud.network.dao.PhysicalNetworkDao; import com.cloud.network.vpc.Vpc; import com.cloud.network.vpc.Dao.VpcDao; import com.cloud.network.vpc.Dao.VpcOfferingDao; @@ -50,6 +52,8 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian VpcDao _vpcDao = null; @Inject VpcOfferingDao _vpcOffDao = null; + @Inject + PhysicalNetworkDao _pNtwkDao = null; @Override public List deployVirtualRouterInVpc(Vpc vpc, DeployDestination dest, Account owner, @@ -90,7 +94,9 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian //3) Deploy Virtual Router try { //FIXME - remove hardcoded provider type when decide if we want cross physical networks vpcs - VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(1, VirtualRouterProviderType.VirtualRouter); + List pNtwks = _pNtwkDao.listByZone(vpc.getZoneId()); + + VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(pNtwks.get(0).getId(), VirtualRouterProviderType.VirtualRouter); PublicIp sourceNatIp = _networkMgr.assignSourceNatIpAddressToVpc(owner, vpc); DomainRouterVO router = deployRouter(owner, dest, plan, params, true, null, false,