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 {