Bug 1221023

Summary: the I/O throttling properties of cdrom will be changed to be none after change to a new cdrom
Product: Red Hat Enterprise Linux 7 Reporter: Sibiao Luo <sluo>
Component: qemu-kvm-rhevAssignee: John Snow <jsnow>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: chayang, famz, jsnow, juzhang, knoel, kwolf, michen, mkenneth, mrezanin, ngu, pbonzini, qzhang, rbalakri, rpacheco, virt-bugs, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 2.6.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1221022 Environment:
Last Closed: 2016-11-07 20:24:02 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:
Bug Depends On: 1221022    
Bug Blocks:    

Comment 1 Sibiao Luo 2015-05-13 07:15:27 UTC
host info:
qemu-kvm-rhev-2.3.0-1.el7.x86_64

(qemu) change ide1-cd0 cdrom1.iso 
(qemu) info block
ide1-cd0: cdrom1.iso (raw, read-only)
    Removable device: not locked, tray closed
    Cache mode:       writethrough
(qemu) block_set_io_throttle ide1-cd0 10000 0 0 0 0 0
(qemu) info block
ide1-cd0: cdrom1.iso (raw, read-only)
    Removable device: not locked, tray closed
    Cache mode:       writethrough
    I/O throttling:   bps=10000 bps_rd=0 bps_wr=0 bps_max=1000 bps_rd_max=0 bps_wr_max=0 iops=0 iops_rd=0 iops_wr=0 iops_max=0 iops_rd_max=0 iops_wr_max=0 iops_size=0

(qemu) change ide1-cd0 cdrom2.iso 
(qemu) info block
ide1-cd0: cdrom2.iso (raw, read-only)
    Removable device: not locked, tray closed
    Cache mode:       writethrough

Best Regards,
sluo

Comment 5 Gu Nini 2016-05-23 10:02:12 UTC
It seems the bug has been fixed on current rhel7.3, following is the test result:

Test sw versions:
Host kernel: 3.10.0-406.el7.x86_64
Qemu-kvm-rhev: qemu-kvm-rhev-2.6.0-2.el7.x86_64


Test steps:
1. Boot up a guest:

/usr/libexec/qemu-kvm -name rhel7.3 -enable-kvm -m 4G -smp 4 -uuid ae361e8d-288b-4e70-8783-bda0d450ce38 -nodefconfig --nodefaults -boot order=cd,menu=on -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=03 -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,format=qcow2,file=/home/rhel7.3,bps=512000,bps_max=1024000,throttling.bps-total-max-length=2 -device scsi-hd,id=image1,drive=drive_image1,bootindex=0 -drive file=/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151030.0-Server-x86_64-dvd1.iso,media=cdrom,id=cdrom,if=none,bps=512000,bps_max=1024000,throttling.bps-total-max-length=2 -device ide-drive,drive=cdrom,bootindex=1 -vnc 0.0.0.0:14 -monitor stdio -netdev tap,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:5a:30:2e:61,bus=pci.0,addr=0x7 -chardev socket,id=qmpmonitor1,path=/tmp/monitor1,server,nowait -mon chardev=qmpmonitor1,mode=control

2. Connect to the qmp monitor:

# nc -U /tmp/monitor1
{"QMP": {"version": {"qemu": {"micro": 94, "minor": 5, "major": 2}, "package": " (qemu-kvm-rhev-2.6.0-2.el7)"}, "capabilities": []}}
{"execute":"qmp_capabilities"}
{"return": {}}
{"execute":"query-block"}
{"return": [{"io-status": "ok", "device": "drive_image1", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "bps_max_length": 2, "image": {"virtual-size": 21474836480, "filename": "/home/rhel7.3", "cluster-size": 65536, "format": "qcow2", "actual-size": 1461919744, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "group": "", "ro": false, "node-name": "#block132", "backing_file_depth": 0, "drv": "qcow2", "bps_max": 1024000, "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 512000, "bps_rd": 0, "cache": {"no-flush": false, "direct": true, "writeback": true}, "file": "/home/rhel7.3", "encryption_key_missing": false}, "type": "unknown"}, {"io-status": "ok", "device": "cdrom", "locked": false, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "bps_max_length": 2, "image": {"virtual-size": 4043309056, "filename": "/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151030.0-Server-x86_64-dvd1.iso", "format": "raw", "actual-size": 4051255296, "dirty-flag": false}, "iops_wr": 0, "group": "", "ro": true, "node-name": "#block371", "backing_file_depth": 0, "drv": "raw", "bps_max": 1024000, "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 512000, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151030.0-Server-x86_64-dvd1.iso", "encryption_key_missing": false}, "tray_open": false, "type": "unknown"}]}
{"execute":"change","arguments":{"device":"cdrom","target":"/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151027.3-Server-x86_64-dvd1.iso"}}
{"timestamp": {"seconds": 1463997311, "microseconds": 319521}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "cdrom", "tray-open": true}}
{"timestamp": {"seconds": 1463997311, "microseconds": 319672}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "cdrom", "tray-open": false}}
{"return": {}}
{"execute":"query-block"}
{"return": [{"io-status": "ok", "device": "drive_image1", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "bps_max_length": 2, "image": {"virtual-size": 21474836480, "filename": "/home/rhel7.3", "cluster-size": 65536, "format": "qcow2", "actual-size": 1461919744, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false}}, "dirty-flag": false}, "iops_wr": 0, "group": "", "ro": false, "node-name": "#block132", "backing_file_depth": 0, "drv": "qcow2", "bps_max": 1024000, "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 512000, "bps_rd": 0, "cache": {"no-flush": false, "direct": true, "writeback": true}, "file": "/home/rhel7.3", "encryption_key_missing": false}, "type": "unknown"}, {"io-status": "ok", "device": "cdrom", "locked": true, "removable": true, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "bps_max_length": 2, "image": {"virtual-size": 4043309056, "filename": "/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151027.3-Server-x86_64-dvd1.iso", "format": "raw", "actual-size": 4051255296, "dirty-flag": false}, "iops_wr": 0, "group": "", "ro": true, "node-name": "#block550", "backing_file_depth": 0, "drv": "raw", "bps_max": 1024000, "iops": 0, "bps_wr": 0, "write_threshold": 0, "encrypted": false, "bps": 512000, "bps_rd": 0, "cache": {"no-flush": false, "direct": false, "writeback": true}, "file": "/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151027.3-Server-x86_64-dvd1.iso", "encryption_key_missing": false}, "tray_open": false, "type": "unknown"}]}

3. Check io throttling status with qmp cmd "query-block"(Please check the qmp cmd output in step2)
4. Change cdrom iso in qmp(Please check the qmp cmd execution result in step2)
5. Check io throttling status again and it's found the io throttling parameters are the same as that in step3((Please check the qmp cmd output in step2)

Comment 6 John Snow 2016-05-24 20:39:07 UTC
Thank you for the update.

Based on this information, I'll be moving this to status: POST as per our qemu-kvm-rebase process for upcoming releases.

Thank you, Gu Nini.

Comment 8 Gu Nini 2016-07-08 01:08:32 UTC
Verify the bug on following sw versions:

kernel: 3.10.0-458.el7.x86_64
qemu-kvm-rhev: qemu-kvm-rhev-2.6.0-11.el7.x86_64

Comment 10 errata-xmlrpc 2016-11-07 20:24:02 UTC
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-2016-2673.html