Bug 725271

Summary: libvirt allows ambiguous XML config wrt <vcpus> and <topology>
Product: Red Hat Enterprise Linux 6 Reporter: Cole Robinson <crobinso>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: dallan, dyuan, gren, mzhan, rwu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-23 20:25:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 708892    

Description Cole Robinson 2011-07-24 22:40:22 UTC
libvirt shouldn't allow an ambiguous XML configuration regarding CPU
topology. Example, what guest CPU config does the following XML represent?

<domain>
  ...
  <vcpus>3</vcpus>
  <cpu>
    <topology sockets='2' cores='2' threads='2'/>
  </cpu>
  ...
</domain>

It is unclear, and libvirt shouldn't accept that config. What I think libvirt
should do is make sockets= a readonly attribute that just mirrors the old style
<vcpus> value. We just throw out the any value the user passes for sockets= and sync with vcpus.

Then we clarify the docs that for HVM, <vcpus> is not 'logical guest
cpus' or anything like that, it represents a distinct socket to the guest. That
should allow people to edit <vcpus> like normal. And my understanding is that
HVs that do CPU hotplug do it at the socket level anyways, so setvcpus commands
still retain the correct semantics.

Some background: https://bugzilla.redhat.com/show_bug.cgi?id=708892#c2

Comment 3 Dave Allan 2011-11-23 20:25:26 UTC

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