From fc0a643097f16b1c1106fb3025bd341e43f685fb Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Wed, 26 Feb 2025 16:57:20 -0500 Subject: [PATCH] Fix listing disk offerings for newly created VMs that haven't yet been started --- .../src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java | 3 +++ server/src/main/java/com/cloud/api/ApiDBUtils.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 7b231d02cb0a..472fe148a5d7 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -6071,6 +6071,9 @@ protected boolean isDiskOfferingSuitableForVm(VMInstanceVO vm, VirtualMachinePro @Override public Map getDiskOfferingSuitabilityForVm(long vmId, List diskOfferingIds) { VMInstanceVO vm = _vmDao.findById(vmId); + if (userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_VM) != null) { + return new HashMap<>(); + } VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm); Pair clusterAndHost = findClusterAndHostIdForVm(vm, false); Long clusterId = clusterAndHost.first(); diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java index 944f60d292ca..4ef1b28b9c0e 100644 --- a/server/src/main/java/com/cloud/api/ApiDBUtils.java +++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java @@ -2137,7 +2137,7 @@ public static List newDiskOfferingResponses(Long vmId, Lis for (DiskOfferingJoinVO offering : offerings) { DiskOfferingResponse response = s_diskOfferingJoinDao.newDiskOfferingResponse(offering); if (vmId != null) { - response.setSuitableForVm(suitability.get(offering.getId())); + response.setSuitableForVm(suitability.getOrDefault(offering.getId(), true)); } list.add(response); }