From 7e29780e3c799bd058b82dbed5f1fe5bbb53a4f0 Mon Sep 17 00:00:00 2001 From: Prasanna Santhanam Date: Mon, 19 Sep 2011 17:19:24 +0530 Subject: [PATCH] bug 11490: simulator marks VMs as Stopped and not Expunging when they are Destroyed status 11490: resolved fixed reviewed-by: Kishan.Kavala@citrix.com The simulator should mark the VM as Expunging when the root volume is destroyed or VM sync will think the VM is still only Stopped and not expunged --- .../com/cloud/agent/manager/MockStorageManagerImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java b/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java index 69dc8f99790..f13369ffd6e 100644 --- a/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java +++ b/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java @@ -58,6 +58,7 @@ import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer; import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand; import com.cloud.agent.api.to.StorageFilerTO; import com.cloud.agent.api.to.VolumeTO; +import com.cloud.simulator.MockVm; import com.cloud.simulator.MockHost; import com.cloud.simulator.MockSecStorageVO; import com.cloud.simulator.MockStoragePoolVO; @@ -76,6 +77,7 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.template.TemplateInfo; import com.cloud.utils.component.Inject; import com.cloud.vm.DiskProfile; +import com.cloud.vm.VirtualMachine.State; @Local(value = { MockStorageManager.class }) @@ -293,6 +295,12 @@ public class MockStorageManagerImpl implements MockStorageManager { if (volume != null) { _mockVolumeDao.remove(volume.getId()); } + MockVm vm = _mockVMDao.findByVmName(cmd.getVmName()); + vm.setState(State.Expunging); + if (vm != null ) { + MockVMVO vmVo = _mockVMDao.createForUpdate(vm.getId()); + _mockVMDao.update(vm.getId(), vmVo); + } return new Answer(cmd); }