This is an automated email from the ASF dual-hosted git repository.

weizhou pushed a commit to branch 4.20
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.20 by this push:
     new a18b5514e67 kvm: honor templateId passed in importVM API (#11640)
a18b5514e67 is described below

commit a18b5514e67a248f57f6e212822a4a44e0b6195c
Author: Manoj Kumar <manojkr.it...@gmail.com>
AuthorDate: Wed Sep 24 12:04:18 2025 +0530

    kvm: honor templateId passed in importVM API (#11640)
---
 .../org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java     | 11 ++---------
 .../org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java |  4 ----
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git 
a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java 
b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
index 981f83936d2..30cf4ad76a7 100644
--- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
@@ -1493,7 +1493,7 @@ public class UnmanagedVMsManagerImpl implements 
UnmanagedVMsManager {
         if (templateId == null) {
             template = templateDao.findByName(VM_IMPORT_DEFAULT_TEMPLATE_NAME);
             if (template == null) {
-                template = createDefaultDummyVmImportTemplate(false);
+                template = 
createDefaultDummyVmImportTemplate(Hypervisor.HypervisorType.KVM == 
hypervisorType);
                 if (template == null) {
                     throw new 
InvalidParameterValueException(String.format("Default VM import template with 
unique name: %s for hypervisor: %s cannot be created. Please use templateid 
parameter for import", VM_IMPORT_DEFAULT_TEMPLATE_NAME, 
hypervisorType.toString()));
                 }
@@ -2331,14 +2331,7 @@ public class UnmanagedVMsManagerImpl implements 
UnmanagedVMsManager {
         if (CollectionUtils.isNotEmpty(userVOs)) {
             userId = userVOs.get(0).getId();
         }
-        VMTemplateVO template = 
templateDao.findByName(KVM_VM_IMPORT_DEFAULT_TEMPLATE_NAME);
-        if (template == null) {
-            template = createDefaultDummyVmImportTemplate(true);
-            if (template == null) {
-                throw new InvalidParameterValueException("Error while creating 
default Import Vm Template");
-            }
-        }
-
+        VMTemplateVO template = 
getTemplateForImportInstance(cmd.getTemplateId(), 
Hypervisor.HypervisorType.KVM);
         final Long serviceOfferingId = cmd.getServiceOfferingId();
         if (serviceOfferingId == null) {
             throw new InvalidParameterValueException(String.format("Service 
offering ID cannot be null"));
diff --git 
a/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java
 
b/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java
index 4aa5df9d411..09f62f7a049 100644
--- 
a/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java
+++ 
b/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java
@@ -504,8 +504,6 @@ public class UnmanagedVMsManagerImplTest {
         when(cmd.getPassword()).thenReturn("pass");
         when(cmd.getImportSource()).thenReturn("external");
         when(cmd.getDomainId()).thenReturn(null);
-        VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
-        when(templateDao.findByName(anyString())).thenReturn(template);
         HostVO host = Mockito.mock(HostVO.class);
         DeployDestination mockDest = Mockito.mock(DeployDestination.class);
         when(deploymentPlanningManager.planDeployment(any(), any(), any(), 
any())).thenReturn(mockDest);
@@ -736,8 +734,6 @@ public class UnmanagedVMsManagerImplTest {
         when(cmd.getImportSource()).thenReturn(source);
         
when(cmd.getDiskPath()).thenReturn("/var/lib/libvirt/images/test.qcow2");
         when(cmd.getDomainId()).thenReturn(null);
-        VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
-        when(templateDao.findByName(anyString())).thenReturn(template);
         HostVO host = Mockito.mock(HostVO.class);
         when(hostDao.findById(anyLong())).thenReturn(host);
         NetworkOffering netOffering = Mockito.mock(NetworkOffering.class);

Reply via email to