From 91ec548fc0b08aa4ff8e6aa57fab013ab9892893 Mon Sep 17 00:00:00 2001 From: David Grizzanti Date: Fri, 31 Jan 2014 11:25:59 +0100 Subject: [PATCH] CLOUDSTACK-5062: Deleting Load Balancing Rule fails when generating usage events are enabled Signed-off-by: Daan Hoogland (cherry picked from commit 62a259ffa9b4daabcbe4f9afe9a78eadebbb7bff) Signed-off-by: Animesh Chaturvedi --- .../cloud/network/lb/LoadBalancingRulesManagerImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index bd58e398473..b830910eba1 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -1405,7 +1405,8 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements if (generateUsageEvent) { // Generate usage event right after all rules were marked for revoke - UsageEventUtils.publishUsageEvent(EventTypes.EVENT_LOAD_BALANCER_DELETE, lb.getAccountId(), 0, lb.getId(), + Network network = _networkModel.getNetwork(lb.getNetworkId()); + UsageEventUtils.publishUsageEvent(EventTypes.EVENT_LOAD_BALANCER_DELETE, lb.getAccountId(), network.getDataCenterId(), lb.getId(), null, LoadBalancingRule.class.getName(), lb.getUuid()); } @@ -2052,6 +2053,11 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements List serviceStates = new ArrayList(); List vmLoadBalancerMappings = null; vmLoadBalancerMappings = _lb2VmMapDao.listByLoadBalancerId(loadBalancerId); + if(vmLoadBalancerMappings == null) { + String msg = "no VM Loadbalancer Mapping found"; + s_logger.error(msg); + throw new CloudRuntimeException(msg); + } Map vmServiceState = new HashMap(vmLoadBalancerMappings.size()); List appliedInstanceIdList = new ArrayList();