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

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


The following commit(s) were added to refs/heads/4.18 by this push:
     new 439d70fd2b9 xen/xcpng: set vmr.VCPUsMax to minimum of global setting 
and host cpu cores (#7887)
439d70fd2b9 is described below

commit 439d70fd2b907a4ed12ed9b67b3be78969b01a8b
Author: Wei Zhou <[email protected]>
AuthorDate: Mon Aug 28 14:26:20 2023 +0200

    xen/xcpng: set vmr.VCPUsMax to minimum of global setting and host cpu cores 
(#7887)
    
    Co-authored-by: dahn <[email protected]>
---
 .../src/main/java/com/cloud/hypervisor/XenServerGuru.java      | 10 +---------
 .../hypervisor/xenserver/resource/CitrixResourceBase.java      |  2 +-
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git 
a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
 
b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
index a8d7a6e268e..9de6ba8ab4f 100644
--- 
a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
+++ 
b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
@@ -17,7 +17,6 @@
 package com.cloud.hypervisor;
 
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 
@@ -96,14 +95,7 @@ public class XenServerGuru extends HypervisorGuruBase 
implements HypervisorGuru,
         if (userVmVO != null) {
             HostVO host = hostDao.findById(userVmVO.getHostId());
             if (host != null) {
-                List<HostVO> clusterHosts = 
hostDao.listByClusterAndHypervisorType(host.getClusterId(), 
host.getHypervisorType());
-                HostVO hostWithMinSocket = 
clusterHosts.stream().min(Comparator.comparing(HostVO::getCpuSockets)).orElse(null);
-                Integer vCpus = 
MaxNumberOfVCPUSPerVM.valueIn(host.getClusterId());
-                if (hostWithMinSocket != null && 
hostWithMinSocket.getCpuSockets() != null &&
-                        hostWithMinSocket.getCpuSockets() < vCpus) {
-                    vCpus = hostWithMinSocket.getCpuSockets();
-                }
-                to.setVcpuMaxLimit(vCpus);
+                
to.setVcpuMaxLimit(MaxNumberOfVCPUSPerVM.valueIn(host.getClusterId()));
             }
         }
 
diff --git 
a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
 
b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
index 7fcf8858469..79a1ef03483 100644
--- 
a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
+++ 
b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
@@ -1338,7 +1338,7 @@ public abstract class CitrixResourceBase extends 
ServerResourceBase implements S
                 vmr.VCPUsMax = (long)vmSpec.getCpus();
             } else {
                 if (vmSpec.getVcpuMaxLimit() != null) {
-                    vmr.VCPUsMax = (long)vmSpec.getVcpuMaxLimit();
+                    vmr.VCPUsMax = Math.min(vmSpec.getVcpuMaxLimit(), (long) 
_host.getCpus());
                 }
             }
         } else {

Reply via email to