From 0839fbce67963578a18478f90e5fbcfd7be11912 Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Tue, 4 Feb 2014 18:41:53 +0100 Subject: [PATCH] CLOUDSTACK-6023 vcpus should not be higher then xen specifies --- .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 200a72ff219..cf5c6d6c762 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -1312,7 +1312,12 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe if (guestOsTypeName.toLowerCase().contains("windows")) { vmr.VCPUsMax = (long)vmSpec.getCpus(); } else { - vmr.VCPUsMax = 32L; + // XenServer has a documented limit of 16 vcpus per vm + vmr.VCPUsMax = 2L * vmSpec.getCpus(); + if (vmr.VCPUsMax > 16) + { + vmr.VCPUsMax = 16L; + } } vmr.VCPUsAtStartup = (long)vmSpec.getCpus();