You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2013/02/08 14:23:16 UTC

[3/3] git commit: refs/heads/4.1 - CLOUDSTACK-1208: Failed to shutdown guest network

Updated Branches:
  refs/heads/4.1 5d1769335 -> 69d24545c
  refs/heads/gslb 8f70ee08e -> 44e3e5ebe


CLOUDSTACK-1208: Failed to shutdown guest network

Firewall manager was being used instead of LoadBalancingRules manager
while applying the load balancer rules in shut down network. Changing it
to LoadBalancingRules manager.


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

Branch: refs/heads/4.1
Commit: 69d24545c4f0e316dba534b6d5d99308795db6d4
Parents: 5d17693
Author: Murali Reddy <mu...@citrix.com>
Authored: Fri Feb 8 18:50:18 2013 +0530
Committer: Murali Reddy <mu...@citrix.com>
Committed: Fri Feb 8 18:50:18 2013 +0530

----------------------------------------------------------------------
 .../src/com/cloud/network/NetworkManagerImpl.java  |    4 ++--
 .../network/lb/LoadBalancingRulesManager.java      |   10 ++++++----
 2 files changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/69d24545/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index f24623e..8632342 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -2991,6 +2991,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
     private boolean shutdownNetworkResources(long networkId, Account caller, long callerUserId) {
         // This method cleans up network rules on the backend w/o touching them in the DB
         boolean success = true;
+        Network network = _networksDao.findById(networkId);
 
         // Mark all PF rules as revoked and apply them on the backend (not in the DB)
         List<PortForwardingRuleVO> pfRules = _portForwardingRulesDao.listByNetwork(networkId);
@@ -3063,7 +3064,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
         }
 
         try {
-            if (!_firewallMgr.applyRules(lbRules, true, false)) {
+            if (!_lbMgr.applyRules(network, Purpose.LoadBalancing, lbs)) {
                 s_logger.warn("Failed to cleanup lb rules as a part of shutdownNetworkRules");
                 success = false;
             }
@@ -3142,7 +3143,6 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
         }
 
         // Get all ip addresses, mark as releasing and release them on the backend
-        Network network = _networksDao.findById(networkId);
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(networkId, null);
         List<PublicIp> publicIpsToRelease = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/69d24545/server/src/com/cloud/network/lb/LoadBalancingRulesManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManager.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManager.java
index c9b3f93..9d7d22f 100644
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManager.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManager.java
@@ -16,16 +16,18 @@
 // under the License.
 package com.cloud.network.lb;
 
-import java.util.List;
-
-import org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd;
 import com.cloud.exception.NetworkRuleConflictException;
 import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.Network;
 import com.cloud.network.lb.LoadBalancingRule.LbDestination;
 import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
+import com.cloud.network.rules.FirewallRule;
 import com.cloud.network.rules.LbStickinessMethod;
 import com.cloud.network.rules.LoadBalancer;
 import com.cloud.user.Account;
+import org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd;
+
+import java.util.List;
 
 public interface LoadBalancingRulesManager extends LoadBalancingRulesService {
 
@@ -43,7 +45,7 @@ public interface LoadBalancingRulesManager extends LoadBalancingRulesService {
      * @return true if removal is successful
      */
     boolean removeVmFromLoadBalancers(long vmId);
-
+    boolean applyRules(Network network, FirewallRule.Purpose purpose, List<? extends FirewallRule> rules) throws ResourceUnavailableException ;
     boolean applyLoadBalancersForNetwork(long networkId) throws ResourceUnavailableException;
     String getLBCapability(long networkid, String capabilityName);
     boolean configureLbAutoScaleVmGroup(long vmGroupid, String currentState) throws ResourceUnavailableException;