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());
|
||||||
resizedVolume.setSize(diskOffering.getDiskSize());
|
if (!diskOffering.isCustomized()) {
|
||||||
if (diskOffering.isCustomized()) {
|
resizedVolume.setSize(diskOffering.getDiskSize());
|
||||||
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