File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
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 2 files changed +16
-1
lines changed Original file line number Diff line number Diff 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 ()
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments