Hide Forgot
Description of problem: Although actual result is fail when setting --min-guarantee for a inactive guest, virsh is still return 0 and without any error information output. Version-Release number of selected component (if applicable): # uname -r 2.6.32-160.el6.x86_64 # rpm -q libvirt libvirt-0.9.4-0rc2.el6.x86_64 # rpm -q qemu-kvm qemu-kvm-0.12.1.2-2.169.el6.x86_64 How reproducible: always Steps to Reproduce: 1. virsh domstate ${guestname} and make sure guest status is "shut off" 2. virsh memtune ${guestname} --min-guarantee 1024 && echo $? 3. check /var/log/libvirtd.log Actual results: # virsh memtune vr-rhel6u1-x86_64-kvm --min-guarantee 1024 && echo $? 0 # tail -1 /var/log/libvirtd.log 17:47:23.737: 13256: error : qemuDomainSetMemoryParameters:5976 : invalid argument in Memory tunable `min_guarantee' not implemented Expected results: virsh raises correct error information and return value is 1. Additional info: This a similar return value issue to https://bugzilla.redhat.com/show_bug.cgi?id=726304, I will commit a patch to fix this issue.
http://www.redhat.com/archives/libvir-list/2011-August/msg00014.html
here is a latest patch: https://www.redhat.com/archives/libvir-list/2011-August/msg00035.html
commit 868453db1ebcc8e7b2e17e8ae99a207ca880530e Author: Alex Jia <ajia> Date: Mon Aug 1 23:06:07 2011 +0800 qemu: fix return value issue in qemuDomainSetMemoryParameters whether or not previous return value is -1, the following codes will be executed for a inactive guest in qemuDomainSetMemoryParameters: ret = virDomainSaveConfig(driver->configDir, persistentDef); and if everything is okay, 'ret' is assigned to 0, the previous 'ret' will be overwritten, this patch will fix this issue. * src/qemu/qemu_driver.c: avoid return value is overwritten when set min_guarante value to a inactive guest. * how to reproduce? % virsh memtune ${guestname} --min_guarante 1024 % echo $? Note: guest must be inactive, in fact, 'min_guarante' hasn't been implemented in memory tunable, and I can get the error when check actual libvirtd.log, however, virsh hasn't raised any error information, and return value is 0. Signed-off-by: Alex Jia <ajia>
I can get a appropriate error information and virsh return value is 1, the bug has been fixed on rhel6.2(2.6.32-160.el6.x86_64) with libvirt-0.9.4-1.el6. # virsh memtune vr-rhel6u1-x86_64-kvm --min_guarante 1024 error: command 'memtune' doesn't support option --min_guarante # echo $? 1
Some typo in Comment 5. The correct one should be as following: # virsh memtune rhel62 --min-guarantee 1024 error: Unable to change memory parameters error: invalid argument: Memory tunable `min_guarantee' not implemented # echo $? 1
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/RHBA-2011-1513.html