You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/02/08 22:10:34 UTC
[30/43] git commit: refs/heads/ui-plugins - CLOUDSTACK-1208: Failed
to shutdown guest network
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/68c110cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/68c110cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/68c110cb
Branch: refs/heads/ui-plugins
Commit: 68c110cb182ce548556b308be6d75e3b07ac82a8
Parents: b59a18d
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:54:15 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/68c110cb/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 0712820..ec4d26e 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -2994,6 +2994,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);
@@ -3066,7 +3067,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;
}
@@ -3145,7 +3146,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/68c110cb/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;