diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index 4890ee5ea0c..4a2624426bf 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -1187,15 +1187,16 @@ public class VirtualMachineMO extends BaseMO { try { if(state == HttpNfcLeaseState.ready) { final HttpNfcLeaseMO.ProgressReporter progressReporter = leaseMo.createProgressReporter(); + + boolean success = false; + List fileNames = new ArrayList(); try { HttpNfcLeaseInfo leaseInfo = leaseMo.getLeaseInfo(); final long totalBytes = leaseInfo.getTotalDiskCapacityInKB() * 1024; long totalBytesDownloaded = 0; HttpNfcLeaseDeviceUrl[] deviceUrls = leaseInfo.getDeviceUrl(); - if(deviceUrls != null) { - List fileNames = new ArrayList(); - + if(deviceUrls != null) { OvfFile[] ovfFiles = new OvfFile[deviceUrls.length]; for (int i = 0; i < deviceUrls.length; i++) { String deviceId = deviceUrls[i].getKey(); @@ -1251,19 +1252,25 @@ public class VirtualMachineMO extends BaseMO { } String result = command.execute(); - if(result == null) { - if(leaveOvaFileOnly) { - for(String name: fileNames) { - new File(name).delete(); - } - } + if(result == null) { + success = true; } - } + } } } catch(Throwable e) { s_logger.error("Unexpected exception ", e); } finally { - progressReporter.close(); + progressReporter.close(); + + if(leaveOvaFileOnly) { + for(String name : fileNames) { + new File(name).delete(); + } + } + + if(!success) { + new File(exportDir + File.separator + exportName + ".ova").delete(); + } } } } finally {