From 048e8c8744bf82daf852dbdac42f1bb8bd64e58d Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Mon, 12 Oct 2020 12:27:39 +0530 Subject: [PATCH] Fixed the issue of VM deletion not cleaning the VM folder on vVols datastore. Fixed it by deleting the VM as complete entity including the extra root disks. --- .../com/cloud/storage/resource/VmwareStorageProcessor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java index e7349ee49ba..7127031ae9b 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -2670,13 +2670,12 @@ public class VmwareStorageProcessor implements StorageProcessor { List virtualDisks = vmMo.getVirtualDisks(); List managedDatastoreNames = getManagedDatastoreNamesFromVirtualDisks(virtualDisks); - List detachedDisks = vmMo.detachAllDisksExcept(vol.getPath(), diskInfo != null ? diskInfo.getDiskDeviceBusName() : null); - VmwareStorageLayoutHelper.moveVolumeToRootFolder(new DatacenterMO(context, morDc), detachedDisks); - // let vmMo.destroy to delete volume for us // vmMo.tearDownDevices(new Class[] { VirtualDisk.class, VirtualEthernetCard.class }); if (isManaged) { + List detachedDisks = vmMo.detachAllDisksExcept(vol.getPath(), diskInfo != null ? diskInfo.getDiskDeviceBusName() : null); + VmwareStorageLayoutHelper.moveVolumeToRootFolder(new DatacenterMO(context, morDc), detachedDisks); vmMo.unregisterVm(); } else {