Bug 1224053
Summary: | blkdeviotune unable to get block I/O throttle parameters | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Jason <jianxun.weng> |
Component: | libvirt | Assignee: | Martin Kletzander <mkletzan> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.1 | CC: | chayang, dyuan, jianxun.weng, juzhang, michen, mkenneth, mkletzan, pzhang, qzhang, rbalakri, rpacheco, virt-maint, xuzhang, yisun |
Target Milestone: | rc | Keywords: | Upstream |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-1.2.17-4.el7 | Doc Type: | Bug Fix |
Doc Text: |
Cause: QEMU started supporting new tuning options at one point and even though libvirt was probing for that capability, it did not consult the capability when getting those options back from running QEMU.
Consequence: Users with new enough libvirt, but old enough QEMU couldn't get any information about per-block device settings using virDomainGetBlockIoTune() API (virsh blkdeviotune).
Fix: Libvirt was taught to correctly consult the capability when checking whether QEMU responded with all options when getting them.
Result: Users are now able to use the virDomainGetBlockIoTune() API even with older QEMU versions.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-19 06:36:14 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jason
2015-05-22 06:22:55 UTC
Jason, thanks for taking the time to enter a bug report with us. We use reports like yours to keep improving the quality of our products and releases. That said, we're not able to guarantee the timeliness or suitability of a resolution for issues entered here because this is not a mechanism for requesting support. If this issue is critical or in any way time sensitive, please raise a ticket through your regular Red Hat support channels to make certain it receives the proper attention and prioritization that will result in a timely resolution. For information on how to contact the Red Hat production support team, please visit: https://www.redhat.com/support/process/production/#howto That said, this is because I/O throtling is not supported in the QEMU binary shipped with RHEL6, so this is somehow expected. I/O throthling is a feature we support only in the RHEL Advanced Hypervisor, which is shipped with RHEV and OpenStack. I'm reassigning this BZ to libvirt as they might want to improve the error message, but I wouldn't be surprised if they close it as NOTABUG or WONTFIX. Again, I recommend you open a customer case with our support department to get this issue properly prioritized and escalated. Thanks. (In reply to Ademar Reis from comment #2) > > That said, this is because I/O throtling is not supported in the QEMU binary > shipped with RHEL6, so this is somehow expected. I/O throthling is a feature > we support only in the RHEL Advanced Hypervisor, which is shipped with RHEV > and OpenStack. For more details about the difference between the packages available in RHEL and in the RHEL Advanced Hypervisor, please see this customer portal article: https://access.redhat.com/solutions/629513 I'm currently checking the status of our documentation to make sure everything is consistent. The bug will remain open while we clarify that. Libvirt is going to improve the error message as was suggested by Ademar in comment 2. It will be addressed in RHEL7 releases though as this has no or very little impact on functionality. Fixed upstream with v1.2.16-81-gf833c70b8599: commit f833c70b85993f024be4afc4dfbfc2fb9c2d6cd9 Author: Martin Kletzander <mkletzan> Date: Thu May 28 11:38:43 2015 +0200 qemu: Check for qemu capability when calling virDomainGetBlockIoTune() One tiny additional patch proposed upstream: https://www.redhat.com/archives/libvir-list/2015-July/msg01039.html Fixed upstream by v1.2.18-rc1-2-gba167186cf77: commit ba167186cf7753cf662697ab67a4b10e9b3d4096 Author: Martin Kletzander <mkletzan> Date: Mon Jul 27 08:04:06 2015 +0200 qemu: Check for iotune_max support properly Verified version : libvirt-1.2.17-5.el7.x86_64 qemu-kvm-1.5.3-101.el7.x86_64 Verify steps: 1.get blkdeviotune #virsh blkdeviotune r720 vdb total_bytes_sec: 0 read_bytes_sec : 0 write_bytes_sec: 0 total_iops_sec : 0 read_iops_sec : 0 write_iops_sec : 0 2. set /get blkdeviotune with basic parameters #virsh blkdeviotune r720 vdb --total-bytes-sec 10000000 #virsh blkdeviotune r720 vdb total_bytes_sec: 10000000 read_bytes_sec : 0 write_bytes_sec: 0 total_iops_sec : 0 read_iops_sec : 0 write_iops_sec : 0 #virsh blkdeviotune r720 vdb --total-iops-sec 123456 #virsh blkdeviotune r720 vdb total_bytes_sec: 10000000 read_bytes_sec : 0 write_bytes_sec: 0 total_iops_sec : 123456 read_iops_sec : 0 write_iops_sec : 0 3. set blkdeviotune without and with *-max and set with options. #virsh blkdeviotune r720 vdb --total-iops-sec-max 12345 error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary #virsh blkdeviotune r720 vdb --read-iops-sec-max 100000 --current error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary #virsh blkdeviotune r720 vdb --read-bytes-sec-max 100000 --live error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary # virsh blkdeviotune r720 vdb --read-bytes-sec-max 1000000 --live --config error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary 3.1 set with --config, reboot guest #virsh blkdeviotune r720 vdb --read-bytes-sec-max 100000 --config #virsh destroy r720 ; virsh start r720 error: Failed to start domain r720 error: unsupported configuration: there are some block I/O throttling parameters that are not supported with this QEMU binary 4.set blkdeviotune with iops_size parameter with options #virsh start r720 #virsh blkdeviotune r720 vdb --size-iops-sec 100000 error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary #virsh blkdeviotune r720 vdb --size-iops-sec 100000 --live error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary #virsh blkdeviotune r720 vdb --size-iops-sec 100000 --current error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary # virsh blkdeviotune r720 vdb --size-iops-sec 100000 --live --config error: Unable to change block I/O throttle error: unsupported configuration: a block I/O throttling parameter is not supported with this QEMU binary 4.1 set iops-size with --config reboot guest . #virsh blkdeviotune r720 vdb --size-iops-sec 100000 --config #virsh destroy r720 ; virsh start r720 Domain r720 destroyed error: Failed to start domain r720 error: unsupported configuration: there are some block I/O throttling parameters that are not supported with this QEMU binary It has a clear error message, 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/RHBA-2015-2202.html |