This is an automated email from the ASF dual-hosted git repository. vishesh pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit a44f28bb312c6070331d852053ebe20aa7753216 Merge: 3fd5680d9a1 c24c1a5c000 Author: Vishesh <vishes...@gmail.com> AuthorDate: Wed Apr 10 17:30:37 2024 +0530 Merge branch '4.19' .../main/java/com/cloud/vm/VirtualMachineProfile.java | 2 ++ .../java/com/cloud/vm/VirtualMachineProfileImpl.java | 4 ++-- .../apache/cloudstack/vm/UnmanagedVMsManagerImpl.java | 19 +++++++------------ .../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 1 + 4 files changed, 12 insertions(+), 14 deletions(-) diff --cc server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index 8118fa14806,069f749e359..dcbc9802fec --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@@ -895,9 -893,10 +895,10 @@@ public class UnmanagedVMsManagerImpl im cleanupFailedImportVM(vm); throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to check migrations need during import, VM: %s", userVm.getInstanceName())); } - if (!hostSupportsServiceOffering(sourceHost, serviceOffering)) { - LOGGER.debug(String.format("VM %s needs to be migrated", vm.getUuid())); + if (!hostSupportsServiceOfferingAndTemplate(sourceHost, serviceOffering, template)) { + logger.debug(String.format("VM %s needs to be migrated", vm.getUuid())); final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm, template, serviceOffering, owner, null); + profile.setServiceOffering(serviceOfferingDao.findById(vm.getId(), serviceOffering.getId())); DeploymentPlanner.ExcludeList excludeList = new DeploymentPlanner.ExcludeList(); excludeList.addHost(sourceHost.getId()); final DataCenterDeployment plan = new DataCenterDeployment(sourceHost.getDataCenterId(), sourceHost.getPodId(), sourceHost.getClusterId(), null, null, null); @@@ -2273,7 -2238,7 +2271,7 @@@ cleanupFailedImportVM(userVm); throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import NICs while importing vm: %s. %s", instanceName, StringUtils.defaultString(e.getMessage()))); } - publishVMUsageUpdateResourceCount(userVm, serviceOffering, template); - publishVMUsageUpdateResourceCount(userVm, dummyOffering); ++ publishVMUsageUpdateResourceCount(userVm, dummyOffering, template); return userVm; } @@@ -2406,8 -2368,8 +2401,8 @@@ cleanupFailedImportVM(userVm); throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import volumes while importing vm: %s. %s", instanceName, StringUtils.defaultString(e.getMessage()))); } - networkOrchestrationService.importNic(macAddress,0,network, true, userVm, requestedIpPair, zone, true); - publishVMUsageUpdateResourceCount(userVm, dummyOffering); + networkOrchestrationService.importNic(macAddress, 0, network, true, userVm, requestedIpPair, zone, true); - publishVMUsageUpdateResourceCount(userVm, serviceOffering, template); ++ publishVMUsageUpdateResourceCount(userVm, dummyOffering, template); return userVm; } diff --cc server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java index 5f0a697a9ca,92131e4f75c..81358d99ae7 --- a/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java @@@ -332,9 -331,10 +332,10 @@@ public class UnmanagedVMsManagerImplTes when(serviceOffering.getCpu()).thenReturn(instance.getCpuCores()); when(serviceOffering.getRamSize()).thenReturn(instance.getMemory()); when(serviceOffering.getSpeed()).thenReturn(instance.getCpuSpeed()); - when(serviceOfferingDao.findById(Mockito.anyLong())).thenReturn(serviceOffering); + when(serviceOfferingDao.findById(anyLong())).thenReturn(serviceOffering); + when(serviceOfferingDao.findById(anyLong(), anyLong())).thenReturn(Mockito.mock(ServiceOfferingVO.class)); DiskOfferingVO diskOfferingVO = Mockito.mock(DiskOfferingVO.class); - when(diskOfferingDao.findById(Mockito.anyLong())).thenReturn(diskOfferingVO); + when(diskOfferingDao.findById(anyLong())).thenReturn(diskOfferingVO); UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getAccountId()).thenReturn(1L); when(userVm.getDataCenterId()).thenReturn(1L);