From ce4b718f4a7201d575103dedf17a8bd063fe6a52 Mon Sep 17 00:00:00 2001 From: David Grizzanti Date: Wed, 6 Nov 2013 12:57:46 -0500 Subject: [PATCH] CLOUDSTACK-5062: Deleting Load Balancing Rule fails when generating usage events are enabled Signed-off-by: Daan Hoogland (cherry picked from commit fc796632ed984f37fdf32e6aedf26d179a70b22f) Signed-off-by: Daan Hoogland --- .../network/lb/LoadBalancingRulesManagerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 67346e14b3b..cdd34357425 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -1348,8 +1348,9 @@ 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(), null, LoadBalancingRule.class.getName(), - lb.getUuid()); + 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()); } return backupMaps; @@ -1970,6 +1971,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();