From a6b7cb3019d8d4bb35c70451462e79debfd8a662 Mon Sep 17 00:00:00 2001 From: nvazquez Date: Wed, 3 Jan 2024 09:35:47 -0300 Subject: [PATCH 1/2] Fix KVM import unmanaged instance --- .../vm/UnmanagedVMsManagerImpl.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 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 b7190f4ff217..556e4862a04a 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -1320,7 +1320,6 @@ private UserVmResponse baseImportInstance(ImportUnmanagedInstanceCmd cmd) { ActionEventUtils.onStartedActionEvent(userId, owner.getId(), EventTypes.EVENT_VM_IMPORT, cmd.getEventDescription(), null, null, true, 0); - //TODO: Placeholder for integration with KVM ingestion and KVM extend unmanage/manage VMs if (cmd instanceof ImportVmCmd) { ImportVmCmd importVmCmd = (ImportVmCmd) cmd; if (StringUtils.isBlank(importVmCmd.getImportSource())) { @@ -1336,8 +1335,8 @@ private UserVmResponse baseImportInstance(ImportUnmanagedInstanceCmd cmd) { details, importVmCmd, forced); } } else { - if (cluster.getHypervisorType() == Hypervisor.HypervisorType.VMware) { - userVm = importUnmanagedInstanceFromVmwareToVmware(zone, cluster, hosts, additionalNameFilters, + if (cluster.getHypervisorType() == Hypervisor.HypervisorType.VMware || cluster.getHypervisorType() == Hypervisor.HypervisorType.KVM) { + userVm = importUnmanagedInstanceFromHypervisor(zone, cluster, hosts, additionalNameFilters, template, instanceName, displayName, hostName, caller, owner, userId, serviceOffering, dataDiskOfferingMap, nicNetworkMap, nicIpAddressMap, @@ -1456,13 +1455,13 @@ public UserVmResponse importVm(ImportVmCmd cmd) { } } - private UserVm importUnmanagedInstanceFromVmwareToVmware(DataCenter zone, Cluster cluster, - List hosts, List additionalNameFilters, - VMTemplateVO template, String instanceName, String displayName, - String hostName, Account caller, Account owner, long userId, - ServiceOfferingVO serviceOffering, Map dataDiskOfferingMap, - Map nicNetworkMap, Map nicIpAddressMap, - Map details, Boolean migrateAllowed, List managedVms, boolean forced) { + private UserVm importUnmanagedInstanceFromHypervisor(DataCenter zone, Cluster cluster, + List hosts, List additionalNameFilters, + VMTemplateVO template, String instanceName, String displayName, + String hostName, Account caller, Account owner, long userId, + ServiceOfferingVO serviceOffering, Map dataDiskOfferingMap, + Map nicNetworkMap, Map nicIpAddressMap, + Map details, Boolean migrateAllowed, List managedVms, boolean forced) { UserVm userVm = null; for (HostVO host : hosts) { HashMap unmanagedInstances = getUnmanagedInstancesForHost(host, instanceName, managedVms); From d6474f8f73f3faee09a42baffa2fd27f5d4cadfc Mon Sep 17 00:00:00 2001 From: nvazquez Date: Wed, 3 Jan 2024 10:21:56 -0300 Subject: [PATCH 2/2] Refactor --- .../java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 556e4862a04a..a1daa30c79a0 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -1335,7 +1335,7 @@ private UserVmResponse baseImportInstance(ImportUnmanagedInstanceCmd cmd) { details, importVmCmd, forced); } } else { - if (cluster.getHypervisorType() == Hypervisor.HypervisorType.VMware || cluster.getHypervisorType() == Hypervisor.HypervisorType.KVM) { + if (List.of(Hypervisor.HypervisorType.VMware, Hypervisor.HypervisorType.KVM).contains(cluster.getHypervisorType())) { userVm = importUnmanagedInstanceFromHypervisor(zone, cluster, hosts, additionalNameFilters, template, instanceName, displayName, hostName, caller, owner, userId, serviceOffering, dataDiskOfferingMap,