File tree Expand file tree Collapse file tree
plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource
vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2603,7 +2603,8 @@ private void mapSpecDisksToClonedDisksAndTearDownDatadisks(VirtualMachineMO vmMo
26032603 try {
26042604 s_logger .debug ("Mapping spec disks information to cloned VM disks for VM " + vmInternalCSName );
26052605 if (vmMo != null && ArrayUtils .isNotEmpty (specDisks )) {
2606- List <VirtualDisk > vmDisks = vmMo .getVirtualDisks ();
2606+ List <VirtualDisk > vmDisks = vmMo .getVirtualDisksOrderedByKey ();
2607+
26072608 List <VirtualDisk > rootDisks = new ArrayList <>();
26082609 List <DiskTO > sortedRootDisksFromSpec = Arrays .asList (sortVolumesByDeviceId (specDisks ))
26092610 .stream ()
Original file line number Diff line number Diff line change @@ -2785,6 +2785,20 @@ public List<VirtualDisk> getVirtualDisks() throws Exception {
27852785 return virtualDisks ;
27862786 }
27872787
2788+ public List <VirtualDisk > getVirtualDisksOrderedByKey () throws Exception {
2789+ List <VirtualDisk > virtualDisks = getVirtualDisks ();
2790+ Collections .sort (virtualDisks , new Comparator <VirtualDisk >() {
2791+ @ Override
2792+ public int compare (VirtualDisk disk1 , VirtualDisk disk2 ) {
2793+ Integer disk1Key = disk1 .getKey ();
2794+ Integer disk2Key = disk2 .getKey ();
2795+ return disk1Key .compareTo (disk2Key );
2796+ }
2797+ });
2798+
2799+ return virtualDisks ;
2800+ }
2801+
27882802 public List <String > detachAllDisksExcept (String vmdkBaseName , String deviceBusName ) throws Exception {
27892803 List <VirtualDevice > devices = _context .getVimClient ().getDynamicProperty (_mor , "config.hardware.device" );
27902804
You can’t perform that action at this time.
0 commit comments