Skip to content

Commit 9a915b1

Browse files
authored
Fix KVM import unmanaged instance (apache#8433)
This PR fixes KVM manage/unmanage functionality on 4.19.0 RC1 - was introduced on apache#7976 but the latest merge commits on the PR removed the execution for KVM
1 parent 514d2c2 commit 9a915b1

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1322,7 +1322,6 @@ private UserVmResponse baseImportInstance(ImportUnmanagedInstanceCmd cmd) {
13221322
ActionEventUtils.onStartedActionEvent(userId, owner.getId(), EventTypes.EVENT_VM_IMPORT,
13231323
cmd.getEventDescription(), null, null, true, 0);
13241324

1325-
//TODO: Placeholder for integration with KVM ingestion and KVM extend unmanage/manage VMs
13261325
if (cmd instanceof ImportVmCmd) {
13271326
ImportVmCmd importVmCmd = (ImportVmCmd) cmd;
13281327
if (StringUtils.isBlank(importVmCmd.getImportSource())) {
@@ -1338,8 +1337,8 @@ private UserVmResponse baseImportInstance(ImportUnmanagedInstanceCmd cmd) {
13381337
details, importVmCmd, forced);
13391338
}
13401339
} else {
1341-
if (cluster.getHypervisorType() == Hypervisor.HypervisorType.VMware) {
1342-
userVm = importUnmanagedInstanceFromVmwareToVmware(zone, cluster, hosts, additionalNameFilters,
1340+
if (List.of(Hypervisor.HypervisorType.VMware, Hypervisor.HypervisorType.KVM).contains(cluster.getHypervisorType())) {
1341+
userVm = importUnmanagedInstanceFromHypervisor(zone, cluster, hosts, additionalNameFilters,
13431342
template, instanceName, displayName, hostName, caller, owner, userId,
13441343
serviceOffering, dataDiskOfferingMap,
13451344
nicNetworkMap, nicIpAddressMap,
@@ -1458,13 +1457,13 @@ public UserVmResponse importVm(ImportVmCmd cmd) {
14581457
}
14591458
}
14601459

1461-
private UserVm importUnmanagedInstanceFromVmwareToVmware(DataCenter zone, Cluster cluster,
1462-
List<HostVO> hosts, List<String> additionalNameFilters,
1463-
VMTemplateVO template, String instanceName, String displayName,
1464-
String hostName, Account caller, Account owner, long userId,
1465-
ServiceOfferingVO serviceOffering, Map<String, Long> dataDiskOfferingMap,
1466-
Map<String, Long> nicNetworkMap, Map<String, Network.IpAddresses> nicIpAddressMap,
1467-
Map<String, String> details, Boolean migrateAllowed, List<String> managedVms, boolean forced) {
1460+
private UserVm importUnmanagedInstanceFromHypervisor(DataCenter zone, Cluster cluster,
1461+
List<HostVO> hosts, List<String> additionalNameFilters,
1462+
VMTemplateVO template, String instanceName, String displayName,
1463+
String hostName, Account caller, Account owner, long userId,
1464+
ServiceOfferingVO serviceOffering, Map<String, Long> dataDiskOfferingMap,
1465+
Map<String, Long> nicNetworkMap, Map<String, Network.IpAddresses> nicIpAddressMap,
1466+
Map<String, String> details, Boolean migrateAllowed, List<String> managedVms, boolean forced) {
14681467
UserVm userVm = null;
14691468
for (HostVO host : hosts) {
14701469
HashMap<String, UnmanagedInstanceTO> unmanagedInstances = getUnmanagedInstancesForHost(host, instanceName, managedVms);

0 commit comments

Comments
 (0)