Skip to content

Commit 25dddcd

Browse files
[VMware] Start VM with deploy-as-is template having multiple disk (SCSI) controller types.
1 parent 28e70c0 commit 25dddcd

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2631,7 +2631,8 @@ private void mapSpecDisksToClonedDisksAndTearDownDatadisks(VirtualMachineMO vmMo
26312631
try {
26322632
s_logger.debug("Mapping spec disks information to cloned VM disks for VM " + vmInternalCSName);
26332633
if (vmMo != null && ArrayUtils.isNotEmpty(specDisks)) {
2634-
List<VirtualDisk> vmDisks = vmMo.getVirtualDisks();
2634+
List<VirtualDisk> vmDisks = vmMo.getVirtualDisksOrderedByKey();
2635+
26352636
List<VirtualDisk> rootDisks = new ArrayList<>();
26362637
List<DiskTO> sortedRootDisksFromSpec = Arrays.asList(sortVolumesByDeviceId(specDisks))
26372638
.stream()

vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2816,6 +2816,20 @@ public List<VirtualDisk> getVirtualDisks() throws Exception {
28162816
return virtualDisks;
28172817
}
28182818

2819+
public List<VirtualDisk> getVirtualDisksOrderedByKey() throws Exception {
2820+
List<VirtualDisk> virtualDisks = getVirtualDisks();
2821+
Collections.sort(virtualDisks, new Comparator<VirtualDisk>() {
2822+
@Override
2823+
public int compare(VirtualDisk disk1, VirtualDisk disk2) {
2824+
Integer disk1Key = disk1.getKey();
2825+
Integer disk2Key = disk2.getKey();
2826+
return disk1Key.compareTo(disk2Key);
2827+
}
2828+
});
2829+
2830+
return virtualDisks;
2831+
}
2832+
28192833
public List<String> detachAllDisksExcept(String vmdkBaseName, String deviceBusName) throws Exception {
28202834
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
28212835

0 commit comments

Comments
 (0)