Skip to content

Commit 1c0bf32

Browse files
author
Likitha Shetty
committed
CLOUDSTACK-8123. VM re-install fails.
While moving root disk into VM folder during restore, look for folder based on vCenter name.
1 parent a5a65c7 commit 1c0bf32

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,9 +487,12 @@ public Answer cloneVolumeFromBaseTemplate(CopyCommand cmd) {
487487
dsMo.deleteFile(srcFile, dcMo.getMor(), true);
488488
}
489489
// restoreVM - move the new ROOT disk into corresponding VM folder
490-
String vmInternalCSName = volume.getVmName();
491-
if (dsMo.folderExists(String.format("[%s]", dsMo.getName()), vmInternalCSName)) {
492-
VmwareStorageLayoutHelper.syncVolumeToVmDefaultFolder(dcMo, vmInternalCSName, dsMo, vmdkFileBaseName);
490+
VirtualMachineMO restoreVmMo = dcMo.findVm(volume.getVmName());
491+
if (restoreVmMo != null) {
492+
String vmNameInVcenter = restoreVmMo.getName(); // VM folder name in datastore will be VM's name in vCenter.
493+
if (dsMo.folderExists(String.format("[%s]", dsMo.getName()), vmNameInVcenter)) {
494+
VmwareStorageLayoutHelper.syncVolumeToVmDefaultFolder(dcMo, vmNameInVcenter, dsMo, vmdkFileBaseName);
495+
}
493496
}
494497

495498
VolumeObjectTO newVol = new VolumeObjectTO();

0 commit comments

Comments
 (0)