Bug 1122014

Summary: VM does not start and gives error "Maximum CPUs greater than topology limit" with some combination of (vsocket and cores)
Product: Red Hat Enterprise Virtualization Manager Reporter: pagupta
Component: vdsmAssignee: Nobody <nobody>
Status: CLOSED DUPLICATE QA Contact: meital avital <mavital>
Severity: high Docs Contact:
Priority: high    
Version: 3.4.0CC: acathrow, bazulay, ecohen, iheim, jdenemar, lpeer, lsurette, michal.skrivanek, pagupta, yeylon
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: virt
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-28 10:30:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description pagupta 2014-07-22 11:09:18 UTC
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):

RHEVM 3.4
libvirt-0.10.2-29.el6_5.8.x86_64
qemu-kvm-rhev-0.12.1.2-2.415.el6_5.10.x86_64                      

How reproducible:

Change vsocket and cores per socket with help RHEV Manager



Steps to Reproduce:
1.
2.
3.

Actual results:

- 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>


Expected results:

VM should start for all the combinations of vsocket and cores.


Additional info:

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.

Comment 3 Jiri Denemark 2014-07-22 11:20:07 UTC
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->cpu->sockets &&
  def->maxvcpus > def->cpu->sockets * def->cpu->cores * def->cpu->threads

So it seems something is wrong in the XML.

Comment 6 Jiri Denemark 2014-07-22 11:42:41 UTC
So I found the failing XML in the sosreport:

  <vcpu current="12">160</vcpu>
  <cpu match="exact">
     <model>SandyBridge</model>
     <topology cores="6" sockets="26" threads="1"/>
  </cpu>

And that's wrong since 6*26 is 156. Libvirt is correctly refusing to start the domain.

Comment 8 Michal Skrivanek 2014-07-28 10:30:05 UTC
this is the same issue as in 1121295

*** This bug has been marked as a duplicate of bug 1121295 ***