Skip to content

Commit 34d43bf

Browse files
committed
customParameters null 체크방식 변경 및 containsKey 방식으로 volumeId 키 존재 여부 확인
1 parent e58531a commit 34d43bf

3 files changed

Lines changed: 14 additions & 15 deletions

File tree

engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ public void allocate(final String vmInstanceName, final VirtualMachineTemplate t
511511

512512
logger.debug("Allocating disks for {}", persistedVm);
513513

514-
if (customParameters.get("volumeId") != null){
514+
if (!customParameters.isEmpty() && customParameters.containsKey("volumeId")){
515515
VolumeVO volVO =_volsDao.findById(Long.parseLong(customParameters.get("volumeId")));
516516
volVO.setInstanceId(vm.getId());
517517
_volsDao.update(volVO.getId(), volVO);

server/src/main/java/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3992,7 +3992,7 @@ private UserVm createVirtualMachine(DataCenter zone, ServiceOffering serviceOffe
39923992
throw new PermissionDeniedException("The owner of vm to deploy is disabled: " + owner);
39933993
}
39943994
VMTemplateVO template = _templateDao.findById(tmplt.getId());
3995-
if (customParameters.get("volumeId") != null) {
3995+
if (!customParameters.isEmpty() && customParameters.containsKey("volumeId")){
39963996
template = _templateDao.findByIdIncludingRemoved(tmplt.getId());
39973997
}
39983998

@@ -4074,7 +4074,7 @@ private UserVm createVirtualMachine(DataCenter zone, ServiceOffering serviceOffe
40744074
throw new InvalidParameterValueException("Root volume encryption is not supported for hypervisor type " + hypervisorType);
40754075
}
40764076

4077-
if (customParameters.get("volumeId") != null) {
4077+
if (!customParameters.isEmpty() && customParameters.containsKey("volumeId")){
40784078
Long volumeId = Long.valueOf(customParameters.get("volumeId"));
40794079
VolumeVO volume = _volsDao.findById(volumeId);
40804080
// Compute the size of the volume
@@ -4498,14 +4498,14 @@ protected long configureCustomRootDiskSize(Map<String, String> customParameters,
44984498
_volumeService.validateVolumeSizeInBytes(rootDiskSize);
44994499
return rootDiskSize;
45004500
} else {
4501-
if (customParameters.get("volumeId") == null) {
4502-
// For baremetal, size can be 0 (zero)
4503-
Long templateSize = _templateDao.findById(template.getId()).getSize();
4504-
if (templateSize != null) {
4505-
return templateSize;
4501+
if (!customParameters.isEmpty() && !customParameters.containsKey("volumeId")){
4502+
// For baremetal, size can be 0 (zero)
4503+
Long templateSize = _templateDao.findById(template.getId()).getSize();
4504+
if (templateSize != null) {
4505+
return templateSize;
4506+
}
45064507
}
45074508
}
4508-
}
45094509
return 0;
45104510
}
45114511

@@ -4562,7 +4562,7 @@ private UserVmVO commitUserVm(final boolean isImport, final DataCenter zone, fin
45624562
offering.getLimitCpuUse(), owner.getDomainId(), owner.getId(), userId, offering.getId(), userData, userDataId, userDataDetails, hostName);
45634563
vm.setUuid(uuidName);
45644564
vm.setDynamicallyScalable(dynamicScalingEnabled);
4565-
if (customParameters.get("volumeId") != null) {
4565+
if (!customParameters.isEmpty() && customParameters.containsKey("volumeId")){
45664566
template = _templateDao.findByIdIncludingRemoved(template.getId());
45674567
}
45684568
Map<String, String> details = template.getDetails();
@@ -4596,7 +4596,7 @@ private UserVmVO commitUserVm(final boolean isImport, final DataCenter zone, fin
45964596

45974597
Long rootDiskSize = null;
45984598
// custom root disk size, resizes base template to larger size
4599-
if (customParameters.containsKey(VmDetailConstants.ROOT_DISK_SIZE) && customParameters.get("volumeId") == null) {
4599+
if (customParameters.containsKey(VmDetailConstants.ROOT_DISK_SIZE) && !customParameters.containsKey("volumeId")) {
46004600
// already verified for positive number
46014601
rootDiskSize = Long.parseLong(customParameters.get(VmDetailConstants.ROOT_DISK_SIZE));
46024602

@@ -4606,7 +4606,6 @@ private UserVmVO commitUserVm(final boolean isImport, final DataCenter zone, fin
46064606
ipve.add(VirtualMachine.class, vm.getUuid());
46074607
throw ipve;
46084608
}
4609-
46104609
validateRootDiskResize(hypervisorType, rootDiskSize, templateVO, vm, customParameters);
46114610
}
46124611

@@ -9341,10 +9340,10 @@ public UserVm createVirtualMachineVolume(DeployVMVolumeCmd cmd) throws Insuffici
93419340
Map<String, String> userVmOVFProperties = cmd.getVmProperties();
93429341
Map<String, String> customParameters = cmd.getDetails();
93439342
Long volumeId = cmd.getVolumeId();
9344-
if (cmd.getVolumeId() != null) {
9343+
if (volumeId != null) {
93459344
customParameters.put("volumeId", String.valueOf(volumeId));
93469345
}
9347-
VolumeVO volVO =_volsDao.findById(Long.parseLong(customParameters.get("volumeId")));
9346+
VolumeVO volVO =_volsDao.findById(volumeId);
93489347
volVO.setDeviceId(0L);
93499348
volVO.setTemplateId(template.getId());
93509349
_volsDao.update(volVO.getId(), volVO);

ui/public/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"docBase": "http://docs.ablecloud.io/latest",
1111
"appTitle": "Mold-ABLESTACK",
1212
"footer": "Copyright (c) 2021-2024, ABLECLOUD.Co.Ltd",
13-
"buildVersion": "Diplo-v4.0.0-20240305",
13+
"buildVersion": "ABLESTACK V4.0-4.0.15",
1414
"loginFooter": "",
1515
"logo": "assets/ablestack-logo.png",
1616
"minilogo": "assets/mini-ablestack-logo.png",

0 commit comments

Comments
 (0)