Internal LB: applyLoadBalancerRules - put not null check for sourceIpAddressId 
(can be null when Schema is not Public)


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

Branch: refs/heads/internallb
Commit: 20beb7a16c1a592cd7500148ea8988fe119d34fb
Parents: 87e5f5b
Author: Alena Prokharchyk <[email protected]>
Authored: Wed Apr 10 15:28:12 2013 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Wed Apr 10 16:58:35 2013 -0700

----------------------------------------------------------------------
 .../network/element/VirtualRouterElement.java      |    2 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/20beb7a1/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 9e07c1b..ba5f7fa 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -734,7 +734,7 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 
     @Override
     public VirtualRouterProvider addElement(Long nspId, 
VirtualRouterProviderType providerType) {
-        if (!(providerType != VirtualRouterProviderType.VirtualRouter) || 
(providerType != VirtualRouterProviderType.VPCVirtualRouter)) {
+        if (!(providerType == VirtualRouterProviderType.VirtualRouter || 
providerType == VirtualRouterProviderType.VPCVirtualRouter)) {
             throw new InvalidParameterValueException("Element " + 
this.getName() + " supports only providerTypes: " + 
         VirtualRouterProviderType.VirtualRouter.toString() + " and " + 
VirtualRouterProviderType.VPCVirtualRouter);
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/20beb7a1/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 ba31e6f..0a9c5b6 100755
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
@@ -1621,8 +1621,10 @@ public class LoadBalancingRulesManagerImpl<Type> extends 
ManagerBase implements
                 }
                 // if the rule is the last one for the ip address assigned to
                 // VPC, unassign it from the network
-                IpAddress ip = 
_ipAddressDao.findById(lb.getSourceIpAddressId());
-                _vpcMgr.unassignIPFromVpcNetwork(ip.getId(), 
lb.getNetworkId());
+                if (lb.getSourceIpAddressId() != null) {
+                    IpAddress ip = 
_ipAddressDao.findById(lb.getSourceIpAddressId());
+                    _vpcMgr.unassignIPFromVpcNetwork(ip.getId(), 
lb.getNetworkId());
+                }
             }
         }
 

Reply via email to