From a28933085cb1f637a34fe05b9c59965a212bf591 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 16 Apr 2014 17:57:59 -0700 Subject: [PATCH] CLOUDSTACK-6433: Don't return success if only one of RvR successfully created --- .../com/cloud/network/element/VirtualRouterElement.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index 73966f36bbd..59642754024 100755 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -188,8 +188,12 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl List routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest, _accountMgr.getAccount(network.getAccountId()), params, offering.getRedundantRouter()); - if ((routers == null) || (routers.size() == 0)) { - throw new ResourceUnavailableException("Can't find at least one running router!", + int routerCounts = 1; + if (offering.getRedundantRouter()) { + routerCounts = 2; + } + if ((routers == null) || (routers.size() < routerCounts)) { + throw new ResourceUnavailableException("Can't find all necessary running routers!", DataCenter.class, network.getDataCenterId()); }