You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/06/21 02:21:41 UTC

[4/4] git commit: VPC: fixed user vm start in case when Implemented network existed w/o VR (it was expunged with DestroyRouter command)

VPC: fixed user vm start in case when Implemented network existed w/o VR (it was expunged with DestroyRouter command)


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

Branch: refs/heads/vpc
Commit: 7fda6306b8a1c6f108dc651d7bbf69f2eea15691
Parents: 19f648f
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Wed Jun 20 10:36:59 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Wed Jun 20 17:19:17 2012 -0700

----------------------------------------------------------------------
 .../network/element/VpcVirtualRouterElement.java   |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7fda6306/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 794503b..b4462db 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -189,6 +189,16 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
                 throw new ResourceUnavailableException("Can't find at least one running router!",
                         DataCenter.class, network.getDataCenterId());
             }
+            for (VirtualRouter router : routers) {
+                //Add router to guest network if needed
+                if (!_networkMgr.isVmPartOfNetwork(router.getId(), network.getId())) {
+                    if (!_vpcRouterMgr.addVpcRouterToGuestNetwork(router, network, false)) {
+                        throw new CloudRuntimeException("Failed to add VPC router " + router + " to guest network " + network);
+                    } else {
+                        s_logger.debug("Successfully added VPC router " + router + " to guest network " + network);
+                    }
+                }
+            }
         }
        
         return true;