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);