- 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 7c0a512..45e0e26 100644
--- a/src/kimchi/model/vms.py
+++ b/src/kimchi/model/vms.py
@@ -36,6 +36,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.tasks import TaskModel
from kimchi.model.templates import TemplateModel
from kimchi.model.utils import get_vm_name
@@ -835,7 +836,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