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

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


The following commit(s) were added to refs/heads/main by this push:
     new 9a915b11c42 Fix KVM import unmanaged instance (#8433)
9a915b11c42 is described below

commit 9a915b11c42bcc6f34b7d872f467daacb9a209f1
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Tue Jan 9 09:08:11 2024 -0300

    Fix KVM import unmanaged instance (#8433)
    
    This PR fixes KVM manage/unmanage functionality on 4.19.0 RC1 - was 
introduced on #7976 but the latest merge commits on the PR removed the 
execution for KVM
---
 .../apache/cloudstack/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 789e0bf06aa..ebd11f11957 100644
--- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
@@ -1322,7 +1322,6 @@ public class UnmanagedVMsManagerImpl implements 
UnmanagedVMsManager {
         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())) {
@@ -1338,8 +1337,8 @@ public class UnmanagedVMsManagerImpl implements 
UnmanagedVMsManager {
                         details, importVmCmd, forced);
             }
         } else {
-            if (cluster.getHypervisorType() == 
Hypervisor.HypervisorType.VMware) {
-                userVm = importUnmanagedInstanceFromVmwareToVmware(zone, 
cluster, hosts, additionalNameFilters,
+            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,
                         nicNetworkMap, nicIpAddressMap,
@@ -1458,13 +1457,13 @@ public class UnmanagedVMsManagerImpl implements 
UnmanagedVMsManager {
         }
     }
 
-    private UserVm importUnmanagedInstanceFromVmwareToVmware(DataCenter zone, 
Cluster cluster,
-                                                             List<HostVO> 
hosts, List<String> additionalNameFilters,
-                                                             VMTemplateVO 
template, String instanceName, String displayName,
-                                                             String hostName, 
Account caller, Account owner, long userId,
-                                                             ServiceOfferingVO 
serviceOffering, Map<String, Long> dataDiskOfferingMap,
-                                                             Map<String, Long> 
nicNetworkMap, Map<String, Network.IpAddresses> nicIpAddressMap,
-                                                             Map<String, 
String> details, Boolean migrateAllowed, List<String> managedVms, boolean 
forced) {
+    private UserVm importUnmanagedInstanceFromHypervisor(DataCenter zone, 
Cluster cluster,
+                                                         List<HostVO> hosts, 
List<String> additionalNameFilters,
+                                                         VMTemplateVO 
template, String instanceName, String displayName,
+                                                         String hostName, 
Account caller, Account owner, long userId,
+                                                         ServiceOfferingVO 
serviceOffering, Map<String, Long> dataDiskOfferingMap,
+                                                         Map<String, Long> 
nicNetworkMap, Map<String, Network.IpAddresses> nicIpAddressMap,
+                                                         Map<String, String> 
details, Boolean migrateAllowed, List<String> managedVms, boolean forced) {
         UserVm userVm = null;
         for (HostVO host : hosts) {
             HashMap<String, UnmanagedInstanceTO> unmanagedInstances = 
getUnmanagedInstancesForHost(host, instanceName, managedVms);

Reply via email to