CLOUDSTACK-1315: Fix NPE when try to upgrade network from VR to SRX-F5

Still return a valid object when reverting non-existed rules.


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

Branch: refs/heads/gslb-wip
Commit: 27ba0208f068e60f588d25a5d0ad9c4d6503ad14
Parents: e31cd2b
Author: Sheng Yang <sheng.y...@citrix.com>
Authored: Wed Mar 6 16:49:44 2013 -0800
Committer: Sheng Yang <sheng.y...@citrix.com>
Committed: Wed Mar 6 16:49:44 2013 -0800

----------------------------------------------------------------------
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/27ba0208/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java 
b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
index 8856881..d7b6d78 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
@@ -819,7 +819,8 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl 
extends AdapterBase
                 }
             } else {
                 s_logger.debug("Revoking a rule for an inline load balancer 
that has not been programmed yet.");
-                return null;
+                nic.setNic(null);
+                return nic;
             }
         }
         
@@ -877,9 +878,9 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl 
extends AdapterBase
                 MappingNic nic = getLoadBalancingIpNic(zone, network, 
rule.getSourceIpAddressId(), revoked, null);
                 mappingStates.add(nic.getState());
                 NicVO loadBalancingIpNic = nic.getNic();
-                        if (loadBalancingIpNic == null) {
-                        continue;
-                    }
+                if (loadBalancingIpNic == null) {
+                       continue;
+                }
 
                 // Change the source IP address for the load balancing rule to 
be the load balancing IP address
                 srcIp = loadBalancingIpNic.getIp4Address();

Reply via email to