mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Merge release branch 4.19 to main
* 4.19: Fix: Update rootdisksize detail on restore VM (#8981) UI: hide Cleanup/Expunge when delete a CloudManaged CKS cluster (#8593)
This commit is contained in:
		
						commit
						d5241d319c
					
				| @ -8115,17 +8115,25 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir | |||||||
|     private void updateVolume(Volume vol, VMTemplateVO template, UserVmVO userVm, DiskOffering diskOffering, Map<String, String> details) { |     private void updateVolume(Volume vol, VMTemplateVO template, UserVmVO userVm, DiskOffering diskOffering, Map<String, String> details) { | ||||||
|         VolumeVO resizedVolume = (VolumeVO) vol; |         VolumeVO resizedVolume = (VolumeVO) vol; | ||||||
| 
 | 
 | ||||||
|         if (userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE) == null && !vol.getSize().equals(template.getSize())) { |         if (template != null && template.getSize() != null) { | ||||||
|             if (template.getSize() != null) { |             UserVmDetailVO vmRootDiskSizeDetail = userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); | ||||||
|  |             if (vmRootDiskSizeDetail == null) { | ||||||
|                 resizedVolume.setSize(template.getSize()); |                 resizedVolume.setSize(template.getSize()); | ||||||
|  |             } else { | ||||||
|  |                 long rootDiskSize = Long.parseLong(vmRootDiskSizeDetail.getValue()) * GiB_TO_BYTES; | ||||||
|  |                 if (template.getSize() >= rootDiskSize) { | ||||||
|  |                     resizedVolume.setSize(template.getSize()); | ||||||
|  |                     userVmDetailsDao.remove(vmRootDiskSizeDetail.getId()); | ||||||
|  |                 } else { | ||||||
|  |                     resizedVolume.setSize(rootDiskSize); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (diskOffering != null) { |         if (diskOffering != null) { | ||||||
|             resizedVolume.setDiskOfferingId(diskOffering.getId()); |             resizedVolume.setDiskOfferingId(diskOffering.getId()); | ||||||
|  |             if (!diskOffering.isCustomized()) { | ||||||
|                 resizedVolume.setSize(diskOffering.getDiskSize()); |                 resizedVolume.setSize(diskOffering.getDiskSize()); | ||||||
|             if (diskOffering.isCustomized()) { |  | ||||||
|                 resizedVolume.setSize(vol.getSize()); |  | ||||||
|             } |             } | ||||||
|             if (diskOffering.getMinIops() != null) { |             if (diskOffering.getMinIops() != null) { | ||||||
|                 resizedVolume.setMinIops(diskOffering.getMinIops()); |                 resizedVolume.setMinIops(diskOffering.getMinIops()); | ||||||
| @ -8139,6 +8147,14 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir | |||||||
|             if (StringUtils.isNumeric(details.get(VmDetailConstants.ROOT_DISK_SIZE))) { |             if (StringUtils.isNumeric(details.get(VmDetailConstants.ROOT_DISK_SIZE))) { | ||||||
|                 Long rootDiskSize = Long.parseLong(details.get(VmDetailConstants.ROOT_DISK_SIZE)) * GiB_TO_BYTES; |                 Long rootDiskSize = Long.parseLong(details.get(VmDetailConstants.ROOT_DISK_SIZE)) * GiB_TO_BYTES; | ||||||
|                 resizedVolume.setSize(rootDiskSize); |                 resizedVolume.setSize(rootDiskSize); | ||||||
|  |                 UserVmDetailVO vmRootDiskSizeDetail = userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); | ||||||
|  |                 if (vmRootDiskSizeDetail != null) { | ||||||
|  |                     vmRootDiskSizeDetail.setValue(details.get(VmDetailConstants.ROOT_DISK_SIZE)); | ||||||
|  |                     userVmDetailsDao.update(vmRootDiskSizeDetail.getId(), vmRootDiskSizeDetail); | ||||||
|  |                 } else { | ||||||
|  |                     userVmDetailsDao.persist(new UserVmDetailVO(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE, | ||||||
|  |                             details.get(VmDetailConstants.ROOT_DISK_SIZE), true)); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             String minIops = details.get(MIN_IOPS); |             String minIops = details.get(MIN_IOPS); | ||||||
|  | |||||||
| @ -612,6 +612,9 @@ export default { | |||||||
|           groupAction: true, |           groupAction: true, | ||||||
|           popup: true, |           popup: true, | ||||||
|           args: (record, store, group) => { |           args: (record, store, group) => { | ||||||
|  |             if (record.clustertype === 'CloudManaged') { | ||||||
|  |               return [] | ||||||
|  |             } | ||||||
|             return (['Admin'].includes(store.userInfo.roletype) || store.features.allowuserexpungerecovervm) |             return (['Admin'].includes(store.userInfo.roletype) || store.features.allowuserexpungerecovervm) | ||||||
|               ? ['cleanup', 'expunge'] : ['cleanup'] |               ? ['cleanup', 'expunge'] : ['cleanup'] | ||||||
|           }, |           }, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user