bug 11286: ensure VM is powered off before we tear down devices

This commit is contained in:
Kelven Yang 2011-09-14 16:12:58 -07:00
parent 8e47cb21c1
commit c0f472b768
2 changed files with 5 additions and 1 deletions

View File

@ -15,10 +15,12 @@
<adapter name="XenServerInvestigator" class="com.cloud.ha.XenServerInvestigator"/>
<adapter name="PingInvestigator" class="com.cloud.ha.UserVmDomRInvestigator"/>
<adapter name="ManagementIPSysVMInvestigator" class="com.cloud.ha.ManagementIPSystemVMInvestigator"/>
<adapter name="VmwareInvestigator" class="com.cloud.ha.VmwareInvestigator"/>
</adapters>
<adapters key="com.cloud.ha.FenceBuilder">
<adapter name="XenServerFenceBuilder" class="com.cloud.ha.XenServerFencer"/>
<adapter name="KVMFenceBuilder" class="com.cloud.ha.KVMFencer"/>
<adapter name="VmwareFenceBuilder" class="com.cloud.ha.VmwareFencer"/>
</adapters>
<adapters key="com.cloud.network.guru.NetworkGuru">
<adapter name="ExternalGuestNetworkGuru" class="com.cloud.network.guru.ExternalGuestNetworkGuru"/>

View File

@ -2614,7 +2614,9 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
HostMO hostMo = vmMo.getRunningHost();
List<NetworkDetails> networks = vmMo.getNetworksWithDetails();
// tear down all devices first before we destroy the VM to avoid accidently delete disk backing files
// tear down all devices first before we destroy the VM to avoid accidently delete disk backing files
if (getVmState(vmMo) != State.Stopped)
vmMo.safePowerOff(_shutdown_waitMs);
vmMo.tearDownDevices(new Class<?>[] { VirtualDisk.class, VirtualEthernetCard.class });
vmMo.destroy();