Repository: cloudstack
Updated Branches:
  refs/heads/4.4 5d0f507ea -> d27c797ab


CLOUDSTACK-6433: Don't return success if only one of RvR successfully created

Conflicts:
        server/src/com/cloud/network/element/VirtualRouterElement.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d27c797a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d27c797a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d27c797a

Branch: refs/heads/4.4
Commit: d27c797abc5386087b8878627505abb9cdfc2e9a
Parents: 5d0f507
Author: Sheng Yang <sheng.y...@citrix.com>
Authored: Wed Apr 16 17:57:59 2014 -0700
Committer: Sheng Yang <sheng.y...@citrix.com>
Committed: Wed Apr 16 18:00:35 2014 -0700

----------------------------------------------------------------------
 .../cloud/network/element/VirtualRouterElement.java   | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d27c797a/server/src/com/cloud/network/element/VirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 3f4ba5b..3b3cacd 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -188,10 +188,16 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
         Map<VirtualMachineProfile.Param, Object> params = new 
HashMap<VirtualMachineProfile.Param, Object>(1);
         params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
 
-        List<DomainRouterVO> 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!", DataCenter.class, network.getDataCenterId());
+        List<DomainRouterVO> routers = 
_routerMgr.deployVirtualRouterInGuestNetwork(network, dest,
+                _accountMgr.getAccount(network.getAccountId()), params,
+                offering.getRedundantRouter());
+        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());
         }
 
         return true;

Reply via email to