From 7638f8e7a7e4460f6c243a7b035dde1ec3e9bbaf Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Fri, 5 Aug 2011 11:29:58 -0700 Subject: [PATCH] bug 10991: Determine existing redundant router using both state and host id Seems in some condition, when a router is stopped, it's host_id != null. status 10991: resolved fixed --- .../network/router/VirtualNetworkApplianceManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index ee2127341d3..c167e057bcd 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -945,7 +945,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian List routerList = _routerDao.findBy(router.getAccountId(), router.getDataCenterIdToDeployIn()); DomainRouterVO routerToBeAvoid = null; for (DomainRouterVO rrouter : routerList) { - if (rrouter.getHostId() != null && rrouter.getIsRedundantRouter()) { + if (rrouter.getHostId() != null && rrouter.getIsRedundantRouter() && rrouter.getState() == State.Running) { if (routerToBeAvoid != null) { throw new ResourceUnavailableException("There are already two redundant routers with IP " + router.getPublicIpAddress(), this.getClass(), 0); }