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 <[email protected]>
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);