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

This commit is contained in:
Alena Prokharchyk 2012-05-21 17:40:44 -07:00
parent ab680bc30c
commit bdfd484444
1 changed files with 7 additions and 1 deletions

View File

@ -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<DomainRouterVO> 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<? extends PhysicalNetwork> 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,