Skip to content

Commit ce4b718

Browse files
dgrizzantiDaanHoogland
authored andcommitted
CLOUDSTACK-5062: Deleting Load Balancing Rule fails when generating usage events are enabled
Signed-off-by: Daan Hoogland <daan@onecht.net> (cherry picked from commit fc796632ed984f37fdf32e6aedf26d179a70b22f) Signed-off-by: Daan Hoogland <daan@onecht.net>
1 parent 7d0472b commit ce4b718

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,8 +1348,9 @@ public List<LoadBalancerVMMapVO> doInTransaction(TransactionStatus status) {
13481348

13491349
if (generateUsageEvent) {
13501350
// Generate usage event right after all rules were marked for revoke
1351-
UsageEventUtils.publishUsageEvent(EventTypes.EVENT_LOAD_BALANCER_DELETE, lb.getAccountId(), 0, lb.getId(), null, LoadBalancingRule.class.getName(),
1352-
lb.getUuid());
1351+
Network network = _networkModel.getNetwork(lb.getNetworkId());
1352+
UsageEventUtils.publishUsageEvent(EventTypes.EVENT_LOAD_BALANCER_DELETE, lb.getAccountId(), network.getDataCenterId(), lb.getId(),
1353+
null, LoadBalancingRule.class.getName(), lb.getUuid());
13531354
}
13541355

13551356
return backupMaps;
@@ -1970,6 +1971,11 @@ public Pair<List<? extends UserVm>, List<String>> listLoadBalancerInstances(List
19701971
List<String> serviceStates = new ArrayList<String>();
19711972
List<LoadBalancerVMMapVO> vmLoadBalancerMappings = null;
19721973
vmLoadBalancerMappings = _lb2VmMapDao.listByLoadBalancerId(loadBalancerId);
1974+
if(vmLoadBalancerMappings == null) {
1975+
String msg = "no VM Loadbalancer Mapping found";
1976+
s_logger.error(msg);
1977+
throw new CloudRuntimeException(msg);
1978+
}
19731979
Map<Long, String> vmServiceState = new HashMap<Long, String>(vmLoadBalancerMappings.size());
19741980
List<Long> appliedInstanceIdList = new ArrayList<Long>();
19751981

0 commit comments

Comments
 (0)