vmware: get recommended disk controller only when root or data disk controller is osdefault (#5258)

* vmware: get recommended disk controller only when root or data disk controller is osdefault

* #5258: fix NPE when template OS is 'Other SUSE Linux(64-bit)'

* server: skip zone check for PERHOST iso during attachIso

Hypervisor tools ISO - vmware-toools.iso, xs-tools.iso are marked as PERHOST in DB. They are active but not downloaded to the secondary storages and hence no template-zone entry.
Skips the template-zone check for such templates.

Fixes #5265

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* inverted check

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
Wei Zhou 2021-08-15 23:36:01 +02:00 committed by GitHub
parent 8680f7d9ad
commit 0a2a524e26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 7 deletions

View File

@ -1527,14 +1527,11 @@ public class HypervisorHostHelper {
VmwareHelper.setBasicVmConfig(vmConfig, cpuCount, cpuSpeedMHz, cpuReservedMHz, memoryMB, memoryReserveMB, guestOsIdentifier, limitCpuUse, false); VmwareHelper.setBasicVmConfig(vmConfig, cpuCount, cpuSpeedMHz, cpuReservedMHz, memoryMB, memoryReserveMB, guestOsIdentifier, limitCpuUse, false);
String recommendedController = host.getRecommendedDiskController(guestOsIdentifier);
String newRootDiskController = controllerInfo.first(); String newRootDiskController = controllerInfo.first();
String newDataDiskController = controllerInfo.second(); String newDataDiskController = controllerInfo.second();
if (DiskControllerType.getType(controllerInfo.first()) == DiskControllerType.osdefault) { String recommendedController = null;
newRootDiskController = recommendedController; if (VmwareHelper.isControllerOsRecommended(newRootDiskController) || VmwareHelper.isControllerOsRecommended(newDataDiskController)) {
} recommendedController = host.getRecommendedDiskController(guestOsIdentifier);
if (DiskControllerType.getType(controllerInfo.second()) == DiskControllerType.osdefault) {
newDataDiskController = recommendedController;
} }
Pair<String, String> updatedControllerInfo = new Pair<String, String>(newRootDiskController, newDataDiskController); Pair<String, String> updatedControllerInfo = new Pair<String, String>(newRootDiskController, newDataDiskController);

View File

@ -3341,7 +3341,7 @@ public class VirtualMachineMO extends BaseMO {
virtualHardwareVersion = getVirtualHardwareVersion(); virtualHardwareVersion = getVirtualHardwareVersion();
// Check if guest operating system supports cpu hotadd // Check if guest operating system supports cpu hotadd
if (guestOsDescriptor.isSupportsCpuHotAdd()) { if (guestOsDescriptor != null && guestOsDescriptor.isSupportsCpuHotAdd()) {
guestOsSupportsCpuHotAdd = true; guestOsSupportsCpuHotAdd = true;
} }