Red Hat Bugzilla – Bug 1253107
blkiotune cannot live update <weight> value into domain xml via --weight
Last modified: 2016-11-03 14:22:36 EDT
Description of problem: blkiotune cannot live update <weight> value into domain xml via --weight Version-Release number of selected component (if applicable): libvirt-1.2.17-4.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.define and start a guest , get blkiotune as default # virsh blkiotune r7 weight : 1000 device_weight : device_read_iops_sec: device_write_iops_sec: device_read_bytes_sec: device_write_bytes_sec: 2. set blkiotune with --weight # virsh blkiotune r7 --weight 999 # virsh blkiotune r7 weight : 999 device_weight : device_read_iops_sec: device_write_iops_sec: device_read_bytes_sec: device_write_bytes_sec: # virsh dumpxml r7|grep blkiotune Nothing output . 3. define and start a guest like following # virsh dumpxml r7-20 | grep blkiotune -A 5 <blkiotune> <weight>888</weight> <device> ...... 4.set blkiotune with --weight # virsh blkiotune r7-20 --weight 999 # virsh blkiotune r7-20 weight : 999 device_weight : device_read_iops_sec: device_write_iops_sec: device_read_bytes_sec: device_write_bytes_sec: # virsh dumpxml r7-20 | grep blkiotune -A 5 <blkiotune> <weight>888</weight> <device> ..... check in cgroup , the value has been changed. # cat /sys/fs/cgroup/blkio/machine.slice/machine-qemu\guest-name.scope/blkio.weight 999 Actual results: As step2 and step4, the value of weight cannot be live updated. Expected results: I think the value of <weight> should be live updated. If it's not (because the default value 1000 is not displayed in domain xml); perhaps It's better give some info in man page or libvirt.org. Additional info:
Send a patch to list: https://www.redhat.com/archives/libvir-list/2015-August/msg00549.html
Version 2: https://www.redhat.com/archives/libvir-list/2015-August/msg00734.html
Upstream commit: commit bf2788218ad29719467260aa4ecad6dc31c97046 Author: Luyao Huang <lhuang@redhat.com> Date: Wed Aug 19 11:56:33 2015 +0800 qemu: Update blkio.weight value after successful set https://bugzilla.redhat.com/show_bug.cgi?id=1253107 Make a call virCgroupGetBlkioWeight to re-read blkio.weight right after it is set in order to keep internal data up-to-date. Signed-off-by: Luyao Huang <lhuang@redhat.com>
Verified version : libvirt-1.3.1-1.el7.x86_64 1.define and start a guest with blkiotune # virsh dumpxml r72|grep blkiotune -A 4 <blkiotune> <weight>999</weight> </blkiotune> # virsh blkiotune r72 weight : 999 device_weight : device_read_iops_sec: device_write_iops_sec: device_read_bytes_sec: device_write_bytes_sec: 2.update --weight value # virsh blkiotune r72 --weight 888 # virsh blkiotune r72 weight : 888 device_weight : device_read_iops_sec: device_write_iops_sec: device_read_bytes_sec: device_write_bytes_sec: 3.check in domain xml. It could be updated. # virsh dumpxml r72|grep blkiotune -A 4 <blkiotune> <weight>888</weight> </blkiotune> 4.check cgroup. # cat /sys/fs/cgroup/blkio/machine.slice/machine-qemu\\x2dr72.scope/blkio.weight 888 Move 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. https://rhn.redhat.com/errata/RHSA-2016-2577.html