From db379bf0e8040a20d4db2944963f4d441783efe2 Mon Sep 17 00:00:00 2001 From: Likitha Shetty Date: Thu, 12 Mar 2015 14:32:58 +0530 Subject: [PATCH] CLOUDSTACK-8405: Restore VM results in deletion of data disk. Dont evict template when a delete command has been sent to VMware resource for deletion of volume. (cherry picked from commit f45e6b94edf3af1feaf4613daf292e5bb8ba7758) Signed-off-by: Rohit Yadav --- .../hypervisor/vmware/resource/VmwareResource.java | 2 +- .../storage/resource/VmwareStorageProcessor.java | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index ac93f9dcb95..f992b70432a 100755 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -5148,7 +5148,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa ClusterMO clusterMo = new ClusterMO(context, morCluster); VirtualMachineMO vmMo = clusterMo.findVmOnHyperHost(vol.getPath()); - if (vmMo != null) { + if (vmMo != null && vmMo.isTemplate()) { if (s_logger.isInfoEnabled()) { s_logger.info("Destroy template volume " + vol.getPath()); } diff --git a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java index 82cda82a4b9..60cd682f7c7 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -1679,17 +1679,6 @@ public class VmwareStorageProcessor implements StorageProcessor { if (s_logger.isInfoEnabled()) { s_logger.info("Destroy root volume directly from datastore"); } - } else { - // evitTemplate will be converted into DestroyCommand, test if we are running in this case - VirtualMachineMO vmMo = clusterMo.findVmOnHyperHost(vol.getPath()); - if (vmMo != null) { - if (s_logger.isInfoEnabled()) { - s_logger.info("Destroy template volume " + vol.getPath()); - } - - vmMo.destroy(); - return new Answer(cmd, true, "Success"); - } } VmwareStorageLayoutHelper.deleteVolumeVmdkFiles(dsMo, vol.getPath(), new DatacenterMO(context, morDc));