- libvirt is not returning a right number for the maximum vcpus
possible in PowerKVM. If such value is used, the VM refuses to boot
complaining the value is greater than the machine type limit. However
the limit can be retrieved from ppc64_cpu, which is the number of
cores available * the number of threads per core.
Signed-off-by: Jose Ricardo Ziviani <joserz(a)linux.vnet.ibm.com>
---
src/kimchi/model/vms.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/kimchi/model/vms.py b/src/kimchi/model/vms.py
index 871f51e..fe1bfe5 100644
--- a/src/kimchi/model/vms.py
+++ b/src/kimchi/model/vms.py
@@ -38,6 +38,7 @@ from kimchi.exception import InvalidOperation, InvalidParameter
from kimchi.exception import NotFoundError, OperationFailed
from kimchi.kvmusertests import UserTests
from kimchi.model.config import CapabilitiesModel
+from kimchi.model.cpuinfo import CPUInfoModel
from kimchi.model.featuretests import FeatureTests
from kimchi.model.tasks import TaskModel
from kimchi.model.templates import TemplateModel
@@ -860,7 +861,9 @@ class VMModel(object):
try:
# set maximum VCPU count
- max_vcpus = self.conn.get().getMaxVcpus('kvm')
+ cpu_model = CPUInfoModel(conn=self.conn)
+ max_vcpus = cpu_model.cores_available *\
+ cpu_model.threads_per_core
dom.setVcpusFlags(max_vcpus,
libvirt.VIR_DOMAIN_AFFECT_CONFIG |
libvirt.VIR_DOMAIN_VCPU_MAXIMUM)
--
1.9.1