Description of problem:
VM does not start and gives error "Maximum CPUs greater than topology limit" with some combination of (vsocket and cores)
Version-Release number of selected component (if applicable):
Change vsocket and cores per socket with help RHEV Manager
Steps to Reproduce:
- 12 vCPU (vsocket 2, cores per socket 6), VM didn't start
- 12 vCPU (vsocket 3, cores per socket 4), VM started
- 12 vCPU (vsocket 6, cores per socket 2), VM started
- 12 vCPU (vsocket 12, cores per socket 1), VM started
- 8 vCPU (vsocket 2, cores per socket 4), VM started
- 6 vCPU (vsocket 2, cores per socket 3), VM didn't start
- 4 vCPU (vsocket 2, cores per socket 2), VM started
<snippet ends here>
VM should start for all the combinations of vsocket and cores.
I could observer the combinations of (vsocket and cores per socket),
VM are running fine for exponent power of 2 ( cores per socket) e.g 1, 2, 4...
I am not sure whether its a limitation or my thinking is wrong.
Can you show us domain XMLs for the domains that do not start? Or just libvirtd.log showing failed attempts to start the domain.
The error is reported clearly when
def->maxvcpus > def->cpu->sockets * def->cpu->cores * def->cpu->threads
So it seems something is wrong in the XML.
So I found the failing XML in the sosreport:
<topology cores="6" sockets="26" threads="1"/>
And that's wrong since 6*26 is 156. Libvirt is correctly refusing to start the domain.
this is the same issue as in 1121295
*** This bug has been marked as a duplicate of bug 1121295 ***