From f45e6b94edf3af1feaf4613daf292e5bb8ba7758 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. --- .../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 a628fb7387f..b30a572e8d1 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -5145,7 +5145,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 ea91816da28..ab1a01d66cf 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -1695,17 +1695,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));