From a51a04efc2bff6e6842efd3e46e60cd7abb95ab9 Mon Sep 17 00:00:00 2001 From: Nicolas Vazquez Date: Fri, 25 Jul 2025 04:00:42 -0300 Subject: [PATCH] [Vmware to KVM Migration] Preserve boot type and boot mode of instances to be migrated (#10975) * [Vmware to KVM Migration] Preserve boot type and boot mode of instances to be migrated * Restore end of line * Extract lines to new method * Address review comments --- .../cloudstack/vm/UnmanagedVMsManagerImpl.java | 8 ++++++++ ui/src/components/view/InfoCard.vue | 12 ++++++++++++ 2 files changed, 20 insertions(+) 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 03c0ad06dc9..4de494bb554 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -1188,6 +1188,8 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { allDetails.put(VmDetailConstants.KVM_VNC_PASSWORD, unmanagedInstance.getVncPassword()); } + addImportingVMBootTypeAndModeDetails(unmanagedInstance.getBootType(), unmanagedInstance.getBootMode(), allDetails); + VirtualMachine.PowerState powerState = VirtualMachine.PowerState.PowerOff; if (unmanagedInstance.getPowerState().equals(UnmanagedInstanceTO.PowerState.PowerOn)) { powerState = VirtualMachine.PowerState.PowerOn; @@ -1259,6 +1261,12 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { return userVm; } + private void addImportingVMBootTypeAndModeDetails(String bootType, String bootMode, Map allDetails) { + if (StringUtils.isNotBlank(bootType) && bootType.equalsIgnoreCase("uefi") && StringUtils.isNotBlank(bootMode)) { + allDetails.put("UEFI", bootMode); + } + } + private HashMap getUnmanagedInstancesForHost(HostVO host, String instanceName, List managedVms) { HashMap unmanagedInstances = new HashMap<>(); if (host.isInMaintenanceStates()) { diff --git a/ui/src/components/view/InfoCard.vue b/ui/src/components/view/InfoCard.vue index 1769d1329bb..fc8f59f71a3 100644 --- a/ui/src/components/view/InfoCard.vue +++ b/ui/src/components/view/InfoCard.vue @@ -732,6 +732,18 @@ {{ resource.webhookname || resource.webhookid }} +
+
{{ $t('label.boottype') }}
+
+ {{ resource.boottype }} +
+
+
+
{{ $t('label.bootmode') }}
+
+ {{ resource.bootmode }} +
+
{{ $t('label.management.servers') }}