Red Hat Bugzilla – Bug 834365
Improve error message when trying to change VM's processor count to 0
Last modified: 2013-02-21 02:18:01 EST
+++ 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): libvirt-0.9.10-21.el6_3.1.x86_64&libvirt-0.9.10-21.el6.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6.x86_64 kernel-2.6.32-276.el6.x86_64 How reproducible: 100% 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.
Creating a clone of the original bug to track improvement of the error message.
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.
Verify it using the following version. kernel-2.6.32-276.el6.x86_64 qemu-kvm-0.12.1.2-2.295.el6.x86_64 libvirt-0.9.13-3.el6.x86_64 Steps 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 Results It is expected result.so move its status to VERIFIED.
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. http://rhn.redhat.com/errata/RHSA-2013-0276.html