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 8d5387b3ffd5..5c02acafbbb5 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -1113,7 +1113,8 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI final VirtualMachineTemplate template, final String displayName, final String hostName, final Account caller, final Account owner, final Long userId, final ServiceOfferingVO serviceOffering, final Map dataDiskOfferingMap, final Map nicNetworkMap, final Map callerNicIpAddressMap, - final Map details, final boolean migrateAllowed, final boolean forced, final boolean isImportUnmanagedFromSameHypervisor) { + final Map details, final boolean migrateAllowed, final boolean forced, final boolean isImportUnmanagedFromSameHypervisor, + final String bootType, final String bootMode) { logger.debug(LogUtils.logGsonWithoutException("Trying to import VM [%s] with name [%s], in zone [%s], cluster [%s], and host [%s], using template [%s], service offering [%s], disks map [%s], NICs map [%s] and details [%s].", unmanagedInstance, instanceName, zone, cluster, host, template, serviceOffering, dataDiskOfferingMap, nicNetworkMap, details)); UserVm userVm = null; @@ -1188,6 +1189,8 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI allDetails.put(VmDetailConstants.KVM_VNC_PASSWORD, unmanagedInstance.getVncPassword()); } + addImportingVMBootTypeAndModeDetails(bootType, bootMode, allDetails); + VirtualMachine.PowerState powerState = VirtualMachine.PowerState.PowerOff; if (unmanagedInstance.getPowerState().equals(UnmanagedInstanceTO.PowerState.PowerOn)) { powerState = VirtualMachine.PowerState.PowerOn; @@ -1259,6 +1262,12 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI 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()) { @@ -1564,7 +1573,8 @@ private UserVm importUnmanagedInstanceFromHypervisor(DataCenter zone, Cluster cl template, displayName, hostName, CallContext.current().getCallingAccount(), owner, userId, serviceOffering, dataDiskOfferingMap, nicNetworkMap, nicIpAddressMap, - details, migrateAllowed, forced, true); + details, migrateAllowed, forced, true, + unmanagedInstance.getBootType(), unmanagedInstance.getBootMode()); break; } if (userVm != null) { @@ -1684,7 +1694,8 @@ protected UserVm importUnmanagedInstanceFromVmwareToKvm(DataCenter zone, Cluster template, displayName, hostName, caller, owner, userId, serviceOffering, dataDiskOfferingMap, nicNetworkMap, nicIpAddressMap, - details, false, forced, false); + details, false, forced, false, + sourceVMwareInstance.getBootType(), sourceVMwareInstance.getBootMode()); long timeElapsedInSecs = (System.currentTimeMillis() - importStartTime) / 1000; logger.debug(String.format("VMware VM %s imported successfully to CloudStack instance %s (%s), Time taken: %d secs, OVF files imported from %s, Source VMware VM details - OS: %s, PowerState: %s, Disks: %s, NICs: %s", sourceVMName, instanceName, displayName, timeElapsedInSecs, (ovfTemplateOnConvertLocation != null)? "MS" : "KVM Host", sourceVMwareInstance.getOperatingSystem(), sourceVMwareInstance.getPowerState(), sourceVMwareInstance.getDisks(), sourceVMwareInstance.getNics())); diff --git a/ui/src/components/view/InfoCard.vue b/ui/src/components/view/InfoCard.vue index 2ad7b96602f6..446b8c00aa40 100644 --- a/ui/src/components/view/InfoCard.vue +++ b/ui/src/components/view/InfoCard.vue @@ -729,6 +729,18 @@ {{ resource.webhookname || resource.webhookid }} +
+
{{ $t('label.boottype') }}
+
+ {{ resource.boottype }} +
+
+
+
{{ $t('label.bootmode') }}
+
+ {{ resource.bootmode }} +
+
{{ $t('label.management.servers') }}