Bug 1288000
| Summary: | Virsh lacks support for the scale (MiB/s OR Bytes/s) for block job bandwidth | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Yang Yang <yanyang> |
| Component: | libvirt | Assignee: | Peter Krempa <pkrempa> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.2 | CC: | dyuan, hhan, jdenemar, lmiksik, mzhan, pkrempa, rbalakri, xuzhang |
| Target Milestone: | rc | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-1.3.3-1.el7 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-11-03 18:34:48 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
Yang Yang
2015-12-03 09:48:01 UTC
Feature added upstream:
commit d40d18fb8f09aabc08861ad573c40727e7d475dd
Author: Peter Krempa <pkrempa>
Date: Thu Mar 17 13:41:00 2016 +0100
virsh: blockpull: Support --bytes and scaled integers
Use vshBlockJobOptionBandwidth to parse the bandwidth value which will
allow users to specify bandwidth in bytes or as a scaled integer.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1288000
commit 453a6d8092d555011b46abcae44ec3c37122562d
Author: Peter Krempa <pkrempa>
Date: Thu Mar 17 13:40:30 2016 +0100
virsh: blockcopy: Support --bytes and scaled integers
Use vshBlockJobOptionBandwidth to parse the bandwidth value which will
allow users to specify bandwidth in bytes or as a scaled integer.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1288000
commit e557bd28a269bd31ab45a57534b348ab1e1b52fd
Author: Peter Krempa <pkrempa>
Date: Thu Mar 17 13:40:04 2016 +0100
virsh: blockcommit: Support --bytes and scaled integers
Use vshBlockJobOptionBandwidth to parse the bandwidth value which will
allow users to specify bandwidth in bytes or as a scaled integer.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1288000
commit e54b5484c972308ec0f6e3d79f3016437905ebf8
Author: Peter Krempa <pkrempa>
Date: Tue Mar 29 15:52:10 2016 +0200
virsh: blockjob: Support --bytes and scaled integers as bandwidth
Use vshBlockJobOptionBandwidth to parse the bandwidth value which will
allow users to specify bandwidth in bytes or as a scaled integer.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1288000
Verified on libvirt-1.3.3-2.el7.x86_64, qemu-kvm-rhev-2.5.0-4.el7.x86_64
Prepare 3 running VMs: copy,commit,pull
Running following scripts:
...
#!/bin/bash
DOM_COMMIT=commit
IP_COMMIT=192.168.122.200
DOM_COPY=copy
IP_COPY=192.168.122.215
DOM_PULL=pull
IP_PULL=192.168.122.74
for i in $DOM_COMMIT $DOM_PULL $DOM_COPY; do
virsh snapshot-create-as $i s1 --disk-only
done
for i in $IP_PULL $IP_COPY $IP_COMMIT; do
ssh root@$i dd if=/dev/urandom of=~/file count=9 bs=100M
done
virsh blockcopy $DOM_COPY vda /var/lib/libvirt/images/$DOM_COPY-copy.qcow2 --bytes 511 --pivot &
virsh blockcommit $DOM_COMMIT vda --active --bytes 512 &
virsh blockpull $DOM_PULL vda --bytes 513 &
sleep 5
# check speed in blockjob
for i in $DOM_COPY $DOM_COMMIT $DOM_PULL;do
echo "the speed of vm $i on blockjob is:"
virsh blockjob $i vda --info --bytes
done >> result
systemctl stop libvirtd
# check speed in qmp-shell
for i in $DOM_COPY $DOM_COMMIT $DOM_PULL; do
echo "the speed of vm $i on qmp-shell is:"
~/qemu/scripts/qmp/qmp-shell /var/lib/libvirt/qemu/domain-*-$i/monitor.sock <<EOF | grep '(QEMU)'
query-block-jobs
EOF
done >> result
systemctl restart libvirtd
...
The result:
# cat result
the speed of vm copy on blockjob is:
Bandwidth limit: 511 bytes/s (511.000 B/s)
the speed of vm commit on blockjob is:
Bandwidth limit: 512 bytes/s (512.000 B/s)
the speed of vm pull on blockjob is:
Bandwidth limit: 513 bytes/s (513.000 B/s)
the speed of vm copy on qmp-shell is:
(QEMU) {"return": [{"busy": false, "type": "mirror", "len": 2387214336, "paused": false, "ready": false, "io-status": "ok", "offset": 7340032, "device": "drive-virtio-disk0", "speed": 511}]}
(QEMU)
the speed of vm commit on qmp-shell is:
(QEMU) {"return": [{"busy": false, "type": "commit", "len": 947388416, "paused": false, "ready": false, "io-status": "ok", "offset": 7602176, "device": "drive-virtio-disk0", "speed": 512}]}
(QEMU)
the speed of vm pull on qmp-shell is:
(QEMU) {"return": [{"busy": false, "type": "stream", "len": 3221225472, "paused": false, "ready": false, "io-status": "ok", "offset": 30146560, "device": "drive-virtio-disk0", "speed": 513}]}
(QEMU)
The blockjob info results are the same with qmp-shell results. Bug fixed.
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 |