bug 10503: Skip usage events when StopAnswer details is Vm does not exist

status 10503: resolved fixed
This commit is contained in:
kishan 2011-07-01 18:27:27 +05:30
parent 12068f957c
commit 9a6c567269
2 changed files with 6 additions and 1 deletions

View File

@ -3003,7 +3003,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
synchronized (_vms) {
_vms.remove(vmName);
}
return new StopAnswer(cmd, "VM does not exist");
return new StopAnswer(cmd, "VM does not exist", 0 , 0L, 0L);
}
Long bytesSent = 0L;
Long bytesRcvd = 0L;

View File

@ -2807,6 +2807,11 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
@Override
public void finalizeStop(VirtualMachineProfile<UserVmVO> profile, StopAnswer answer) {
if("VM does not exist".equals(answer.getDetails())){
// Stop answer returns true when Vm does not exist.
// This is a hack to avoid logging usage events
return;
}
VMInstanceVO vm = profile.getVirtualMachine();
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VM_STOP, vm.getAccountId(), vm.getDataCenterIdToDeployIn(), vm.getId(), vm.getHostName());
_usageEventDao.persist(usageEvent);