diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java index c6523c49971..df85886bceb 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java @@ -1527,14 +1527,11 @@ public class HypervisorHostHelper { VmwareHelper.setBasicVmConfig(vmConfig, cpuCount, cpuSpeedMHz, cpuReservedMHz, memoryMB, memoryReserveMB, guestOsIdentifier, limitCpuUse, false); - String recommendedController = host.getRecommendedDiskController(guestOsIdentifier); String newRootDiskController = controllerInfo.first(); String newDataDiskController = controllerInfo.second(); - if (DiskControllerType.getType(controllerInfo.first()) == DiskControllerType.osdefault) { - newRootDiskController = recommendedController; - } - if (DiskControllerType.getType(controllerInfo.second()) == DiskControllerType.osdefault) { - newDataDiskController = recommendedController; + String recommendedController = null; + if (VmwareHelper.isControllerOsRecommended(newRootDiskController) || VmwareHelper.isControllerOsRecommended(newDataDiskController)) { + recommendedController = host.getRecommendedDiskController(guestOsIdentifier); } Pair updatedControllerInfo = new Pair(newRootDiskController, newDataDiskController); diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index c99286b68c1..e2a0a1c9a89 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -3381,7 +3381,7 @@ public class VirtualMachineMO extends BaseMO { virtualHardwareVersion = getVirtualHardwareVersion(); // Check if guest operating system supports cpu hotadd - if (guestOsDescriptor.isSupportsCpuHotAdd()) { + if (guestOsDescriptor != null && guestOsDescriptor.isSupportsCpuHotAdd()) { guestOsSupportsCpuHotAdd = true; }