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