mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
NPE fix for System VM's start Command (#3985)
Co-authored-by: Pavan Kumar Aravapalli <pavan_aravapalli@accelerite.com>
This commit is contained in:
parent
db2e2136dd
commit
08699aa690
@ -294,7 +294,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
details.put(VmDetailConstants.BOOT_MODE, to.getBootType());
|
details.put(VmDetailConstants.BOOT_MODE, to.getBootMode());
|
||||||
String diskDeviceType = details.get(VmDetailConstants.ROOT_DISK_CONTROLLER);
|
String diskDeviceType = details.get(VmDetailConstants.ROOT_DISK_CONTROLLER);
|
||||||
if (userVm) {
|
if (userVm) {
|
||||||
if (diskDeviceType == null) {
|
if (diskDeviceType == null) {
|
||||||
|
|||||||
@ -1724,7 +1724,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||||||
String dataDiskController = vmSpec.getDetails().get(VmDetailConstants.DATA_DISK_CONTROLLER);
|
String dataDiskController = vmSpec.getDetails().get(VmDetailConstants.DATA_DISK_CONTROLLER);
|
||||||
String rootDiskController = vmSpec.getDetails().get(VmDetailConstants.ROOT_DISK_CONTROLLER);
|
String rootDiskController = vmSpec.getDetails().get(VmDetailConstants.ROOT_DISK_CONTROLLER);
|
||||||
DiskTO rootDiskTO = null;
|
DiskTO rootDiskTO = null;
|
||||||
String bootMode = ApiConstants.BootType.BIOS.toString();
|
String bootMode = "bios";
|
||||||
if (vmSpec.getDetails().containsKey(VmDetailConstants.BOOT_MODE)) {
|
if (vmSpec.getDetails().containsKey(VmDetailConstants.BOOT_MODE)) {
|
||||||
bootMode = vmSpec.getDetails().get(VmDetailConstants.BOOT_MODE);
|
bootMode = vmSpec.getDetails().get(VmDetailConstants.BOOT_MODE);
|
||||||
}
|
}
|
||||||
@ -2286,7 +2286,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bootMode.equalsIgnoreCase(ApiConstants.BootType.BIOS.toString())) {
|
if (StringUtils.isNotBlank(bootMode) && !bootMode.equalsIgnoreCase("bios")) {
|
||||||
vmConfigSpec.setFirmware("efi");
|
vmConfigSpec.setFirmware("efi");
|
||||||
if (vmSpec.getDetails().containsKey(ApiConstants.BootType.UEFI.toString()) && "secure".equalsIgnoreCase(vmSpec.getDetails().get(ApiConstants.BootType.UEFI.toString()))) {
|
if (vmSpec.getDetails().containsKey(ApiConstants.BootType.UEFI.toString()) && "secure".equalsIgnoreCase(vmSpec.getDetails().get(ApiConstants.BootType.UEFI.toString()))) {
|
||||||
VirtualMachineBootOptions bootOptions = new VirtualMachineBootOptions();
|
VirtualMachineBootOptions bootOptions = new VirtualMachineBootOptions();
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import org.apache.cloudstack.api.ApiConstants;
|
|||||||
import org.apache.cloudstack.backup.Backup;
|
import org.apache.cloudstack.backup.Backup;
|
||||||
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.api.Command;
|
import com.cloud.agent.api.Command;
|
||||||
@ -172,9 +173,19 @@ public abstract class HypervisorGuruBase extends AdapterBase implements Hypervis
|
|||||||
offering.getRamSize() * 1024l * 1024l, null, null, vm.isHaEnabled(), vm.limitCpuUse(), vm.getVncPassword());
|
offering.getRamSize() * 1024l * 1024l, null, null, vm.isHaEnabled(), vm.limitCpuUse(), vm.getVncPassword());
|
||||||
to.setBootArgs(vmProfile.getBootArgs());
|
to.setBootArgs(vmProfile.getBootArgs());
|
||||||
|
|
||||||
String bootType = (String)vmProfile.getParameter(new VirtualMachineProfile.Param("BootType"));
|
Map<VirtualMachineProfile.Param, Object> map = vmProfile.getParameters();
|
||||||
if (StringUtils.isNotBlank(bootType)) {
|
if (MapUtils.isNotEmpty(map)) {
|
||||||
to.setBootType(bootType);
|
if (map.containsKey(VirtualMachineProfile.Param.BootMode)) {
|
||||||
|
if (StringUtils.isNotBlank((String) map.get(VirtualMachineProfile.Param.BootMode))) {
|
||||||
|
to.setBootMode((String) map.get(VirtualMachineProfile.Param.BootMode));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (map.containsKey(VirtualMachineProfile.Param.BootType)) {
|
||||||
|
if (StringUtils.isNotBlank((String) map.get(VirtualMachineProfile.Param.BootType))) {
|
||||||
|
to.setBootType((String) map.get(VirtualMachineProfile.Param.BootType));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<NicProfile> nicProfiles = vmProfile.getNics();
|
List<NicProfile> nicProfiles = vmProfile.getNics();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user