Bug 834365 - Improve error message when trying to change VM's processor count to 0
Improve error message when trying to change VM's processor count to 0
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt (Show other bugs)
Unspecified Linux
medium Severity low
: rc
: ---
Assigned To: Peter Krempa
Virtualization Bugs
Depends On:
  Show dependency treegraph
Reported: 2012-06-21 12:28 EDT by Peter Krempa
Modified: 2013-02-21 02:18 EST (History)
10 users (show)

See Also:
Fixed In Version: libvirt-0.9.13-3.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 832946
Last Closed: 2013-02-21 02:18:01 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Peter Krempa 2012-06-21 12:28:38 EDT
+++ This bug was initially created as a clone of Bug #832946 +++

Description of problem:
Use setvcpus to hotplug vcpu for a guest, then the guest's CPU usage is 100% and guest hang there.
BTW, if set vcpu number to 0, it seems the error message is not correct.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Set the maximum cpu number to 4
#virsh dumpxml test
<vcpu placement='static' current='1'>4</vcpu>
2. hotplug vcpus 
#virsh setvcpus test 2 

check the guest xml again
#virsh dumpxml test
<vcpu placement='static' current='2'>4</vcpu>

3. After add step2, guest's CPU usage up to 100% and cann't conduct any operation in guest.

4. set vcpus to 0
# virsh setvcpus  test 0
error: invalid argument: virDomainSetVcpus
Actual results:
As steps 3&4.

Expected results:
Hotplug vcpu can succeed, and the error message should be improved when set vcpu to 0.

Additional info:
No error meesages in libvirtd.log

--- Additional comment from ydu@redhat.com on 2012-06-18 11:43:30 CEST ---

This bug can always reproduced with rhel6.2 guest(release version), but can't reproduce with rhel6.3 guest.

--- Additional comment from pkrempa@redhat.com on 2012-06-18 12:18:02 CEST ---

There's either a bug or the the guest OS is missing support for CPU hotplug, so that it cannot handle the CPU that has emerged in the emulated system. This part of this bug isn't a problem with libvirt. 

As of the error message, that probably is worth tweaking a little bit.
Comment 1 Peter Krempa 2012-06-21 12:30:38 EDT
Creating a clone of the original bug to track improvement of the error message.
Comment 2 Peter Krempa 2012-06-22 04:49:54 EDT
Error message improved upstream with two commits:

commit d91f3ef49741f1b9143865ff6ef9e2119fbeccc2
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Fri May 25 18:41:07 2012 +0100

    Santize the reporting of VIR_ERR_INVALID_ERROR

improving API error messages and 

commit de924ca90a0ff1ad8adeab460761f65b7a742d72
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Jun 21 18:34:32 2012 +0200

    virsh: Improve error when trying to change vm's cpu count 0

to point out the error directly without the need for the user to understand API variable names.
Comment 4 hongming 2012-07-25 02:04:40 EDT
Verify it using the following version.

1. # virsh dumpxml rhel6
<vcpu placement='static' current='1'>4</vcpu>

2. # virsh setvcpus rhel6 2

3. # virsh dumpxml rhel6 |grep cpu
  <vcpu placement='static' current='2'>4</vcpu>

4. # virsh setvcpus rhel6 0
error: Invalid number of virtual CPUs

It is expected result.so move its status to VERIFIED.
Comment 5 errata-xmlrpc 2013-02-21 02:18:01 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.