From 2742c504843415af9fa4fb61e8e76962232f3cc6 Mon Sep 17 00:00:00 2001 From: anthony Date: Tue, 3 Jul 2012 11:30:08 -0700 Subject: [PATCH] CS-15385 : fix vm start in basic zone --- .../router/VirtualNetworkApplianceManagerImpl.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 6bbc24cc546..4e40432cb63 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1188,7 +1188,14 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian //1) Get deployment plan and find out the list of routers boolean isPodBased = (dest.getDataCenter().getNetworkType() == NetworkType.Basic || _networkMgr.areServicesSupportedInNetwork(guestNetwork.getId(), Service.SecurityGroup)) - && guestNetwork.getTrafficType() == TrafficType.Guest; + && guestNetwork.getTrafficType() == TrafficType.Guest; + Long podId = null; + if (isPodBased) { + Pod pod = dest.getPod(); + if (pod != null) { + podId = pod.getId(); + } + } Pair> planAndRouters = getDeploymentPlanAndRouters(isPodBased, dest, guestNetwork.getId()); DeploymentPlan plan = planAndRouters.first(); List routers = planAndRouters.second(); @@ -1207,7 +1214,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } /* If old network is redundant but new is single router, then routers.size() = 2 but routerCount = 1 */ - if (routers.size() >= routerCount || (isPodBased)) { + if (routers.size() >= routerCount || (isPodBased && podId == null)) { return routers; }