mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 11:52:28 +01:00
CLOUDSTACK-2856: collectVmDiskStatistics before reboot/stop/migrate
This commit is contained in:
parent
f321acd06d
commit
15265479f6
@ -755,6 +755,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
||||
}
|
||||
|
||||
if (vm.getState() == State.Running && vm.getHostId() != null) {
|
||||
collectVmDiskStatistics(vm);
|
||||
return _itMgr.reboot(vm, null, caller, owner);
|
||||
} else {
|
||||
s_logger.error("Vm id=" + vmId
|
||||
@ -3379,9 +3380,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
||||
boolean status;
|
||||
State vmState = vm.getState();
|
||||
|
||||
// Collect vm disk statistics from host before stopping Vm
|
||||
collectVmDiskStatistics(vm);
|
||||
|
||||
try {
|
||||
VirtualMachineEntity vmEntity = _orchSrvc.getVirtualMachine(vm.getUuid());
|
||||
status = vmEntity.destroy(new Long(userId).toString());
|
||||
@ -3830,7 +3828,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
||||
"No permission to migrate VM, Only Root Admin can migrate a VM!");
|
||||
}
|
||||
|
||||
VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
UserVmVO vm = _vmDao.findById(vmId);
|
||||
if (vm == null) {
|
||||
throw new InvalidParameterValueException(
|
||||
"Unable to find the VM by id=" + vmId);
|
||||
@ -3921,6 +3919,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
||||
+ " already has max Running VMs(count includes system VMs), cannot migrate to this host");
|
||||
}
|
||||
|
||||
collectVmDiskStatistics(vm);
|
||||
VMInstanceVO migratedVm = _itMgr.migrate(vm, srcHostId, dest);
|
||||
return migratedVm;
|
||||
}
|
||||
@ -4710,6 +4709,9 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
||||
|
||||
@Override
|
||||
public void prepareStop(VirtualMachineProfile<UserVmVO> profile) {
|
||||
UserVmVO vm = profile.getVirtualMachine();
|
||||
if (vm.getState() == State.Running)
|
||||
collectVmDiskStatistics(vm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user