mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Start VM with deploy-as-is template having multiple disk (SCSI) controller types. (#5311)
This commit is contained in:
parent
46ca853e55
commit
e50a40ea08
@ -2603,7 +2603,8 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
try {
|
||||
s_logger.debug("Mapping spec disks information to cloned VM disks for VM " + vmInternalCSName);
|
||||
if (vmMo != null && ArrayUtils.isNotEmpty(specDisks)) {
|
||||
List<VirtualDisk> vmDisks = vmMo.getVirtualDisks();
|
||||
List<VirtualDisk> vmDisks = vmMo.getVirtualDisksOrderedByKey();
|
||||
|
||||
List<VirtualDisk> rootDisks = new ArrayList<>();
|
||||
List<DiskTO> sortedRootDisksFromSpec = Arrays.asList(sortVolumesByDeviceId(specDisks))
|
||||
.stream()
|
||||
|
||||
@ -2785,6 +2785,20 @@ public class VirtualMachineMO extends BaseMO {
|
||||
return virtualDisks;
|
||||
}
|
||||
|
||||
public List<VirtualDisk> getVirtualDisksOrderedByKey() throws Exception {
|
||||
List<VirtualDisk> virtualDisks = getVirtualDisks();
|
||||
Collections.sort(virtualDisks, new Comparator<VirtualDisk>() {
|
||||
@Override
|
||||
public int compare(VirtualDisk disk1, VirtualDisk disk2) {
|
||||
Integer disk1Key = disk1.getKey();
|
||||
Integer disk2Key = disk2.getKey();
|
||||
return disk1Key.compareTo(disk2Key);
|
||||
}
|
||||
});
|
||||
|
||||
return virtualDisks;
|
||||
}
|
||||
|
||||
public List<String> detachAllDisksExcept(String vmdkBaseName, String deviceBusName) throws Exception {
|
||||
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user