This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch 4.15
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.15 by this push:
     new 0a2a524  vmware: get recommended disk controller only when root or 
data disk controller is osdefault (#5258)
0a2a524 is described below

commit 0a2a524e261a373ee9df1f2c7cfd4ba2580ea677
Author: Wei Zhou <[email protected]>
AuthorDate: Sun Aug 15 23:36:01 2021 +0200

    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 <[email protected]>
    
    * inverted check
    
    Co-authored-by: Abhishek Kumar <[email protected]>
---
 .../com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java     | 9 +++------
 .../java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java    | 2 +-
 2 files changed, 4 insertions(+), 7 deletions(-)

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 c5e2fe5..e35c37d 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<String, String> updatedControllerInfo = new Pair<String, 
String>(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 0d01931..0fdaa7d 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
@@ -3341,7 +3341,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;
         }
 

Reply via email to