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/28 19:25:07 UTC

[4/12] git commit: VPC: fixed ip addres assignment in createLB rule

VPC: fixed ip addres assignment in createLB rule


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

Branch: refs/heads/vpc
Commit: cec5012d5ad4d5cb4292f571356ba57d1a81fd26
Parents: c8ec262
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Wed Jun 27 14:08:36 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Thu Jun 28 10:18:03 2012 -0700

----------------------------------------------------------------------
 .../network/lb/LoadBalancingRulesManagerImpl.java  |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cec5012d/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
index f00a4cc..4afdacb 100755
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
@@ -47,7 +47,6 @@ import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.NetworkRuleConflictException;
 import com.cloud.exception.PermissionDeniedException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.dao.NetworkServiceMapDao;
 import com.cloud.network.ExternalLoadBalancerUsageManager;
 import com.cloud.network.IPAddressVO;
 import com.cloud.network.IpAddress;
@@ -67,7 +66,7 @@ import com.cloud.network.dao.LBStickinessPolicyDao;
 import com.cloud.network.dao.LoadBalancerDao;
 import com.cloud.network.dao.LoadBalancerVMMapDao;
 import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.element.NetworkElement;
+import com.cloud.network.dao.NetworkServiceMapDao;
 import com.cloud.network.lb.LoadBalancingRule.LbDestination;
 import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
 import com.cloud.network.rules.FirewallManager;
@@ -99,7 +98,6 @@ import com.cloud.utils.db.SearchCriteria;
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.net.NetUtils;
-import com.cloud.utils.AnnotationHelper;
 import com.cloud.vm.Nic;
 import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachine.State;
@@ -719,8 +717,6 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa
             } else if (ipAddressVo.isOneToOneNat()) {
                 throw new NetworkRuleConflictException("Can't do load balance on ip address: " + ipAddressVo.getAddress());
             }
-
-            _networkMgr.checkIpForService(ipAddressVo, Service.Lb);
         }
 
         LoadBalancer result = _elbMgr.handleCreateLoadBalancerRule(lb, lbOwner, lb.getNetworkId());
@@ -738,6 +734,8 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa
                     s_logger.debug("The ip is not associated with the network id="+ lb.getNetworkId() + " so assigning");
                     ip = _networkMgr.associateIPToGuestNetwork(ipAddrId, lb.getNetworkId());
                 }
+                ipAddressVo = _ipAddressDao.findById(ipAddrId);
+                _networkMgr.checkIpForService(ipAddressVo, Service.Lb);
                 result = createLoadBalancer(lb, openFirewall);
             } catch (Exception ex) {
                 s_logger.warn("Failed to create load balancer due to ", ex);