This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1251886 - virDomainAddIOThread allow add iothread 0 which make guest have a broken settings
virDomainAddIOThread allow add iothread 0 which make guest have a broken sett...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.2
x86_64 Linux
medium Severity medium
: rc
: ---
Assigned To: John Ferlan
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-10 04:42 EDT by Luyao Huang
Modified: 2015-11-19 01:50 EST (History)
6 users (show)

See Also:
Fixed In Version: libvirt-1.2.17-6.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-19 01:50:35 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Luyao Huang 2015-08-10 04:42:05 EDT
Description of problem:
virDomainAddIOThread allow add iothread 0 which make guest have a broken settings

Version-Release number of selected component (if applicable):

libvirt-1.2.17-4.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. prepare a guest
# virsh list 
 Id    Name                           State
----------------------------------------------------
 343   rhel7.0-rhel                   running


2. use python function addIOThread to add iothread 0:

# python
Python 2.7.5 (default, Sep  4 2014, 05:34:58) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libvirt
>>> conn=libvirt.open()
>>> dom=conn.lookupByName("rhel7.0-rhel")
>>> dom.addIOThread(0)
0

3.
# virsh iothreadinfo rhel7.0-rhel
 IOThread ID     CPU Affinity   
---------------------------------------------------
 1               0-3
 2               0,2-3
 3               0-3
 0               0-3

4. restart libvirtd

# service libvirtd restart
Redirecting to /bin/systemctl restart  libvirtd.service

# virsh list 
 Id    Name                           State
----------------------------------------------------

and can find log in libvirtd.log:

2015-08-10 08:39:13.111+0000: 19847: error : virDomainIOThreadIDDefParseXML:13882 : XML error: invalid iothread 'id' value '0'


Actual results:
virDomainAddIOThread allow add iothread 0 which make guest have a broken settings


Expected results:
forbid add iothread 0 like deliotread

Additional info:
Comment 1 John Ferlan 2015-08-13 11:14:09 EDT
Posted some patches upstream:

http://www.redhat.com/archives/libvir-list/2015-August/msg00585.html
Comment 4 Han Han 2015-09-11 05:01:58 EDT
Hi John, I can reproduce the bug on libvirt-1.2.17-4.el7.x86_64
Verify it on libvirt-1.2.17-8.el7.x86_64


Steps to verify:
1. Prepare a runing guest
# virsh list
 Id    Name                           State
----------------------------------------------------
 13    t40                            running

2. Use python function addIOThread to add iothread 0:
# python
>>> import libvirt
>>> conn=libvirt.open()
>>> dom=conn.lookupByName("t40")
>>> dom.addIOThread(0)
libvirt: QEMU Driver error : invalid argument: invalid value of 0 for iothread_id
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 515, in addIOThread
    if ret == -1: raise libvirtError ('virDomainAddIOThread() failed', dom=self)
libvirt.libvirtError: invalid argument: invalid value of 0 for iothread_id

3. Check iothreadinfo
# virsh iothreadinfo t40
No IOThreads found for the domain

4. Restart libvirtd and check virsh list
# systemctl restart libvirtd
# virsh list                          
 Id    Name                           State
----------------------------------------------------
 15    t40                            running
Comment 6 errata-xmlrpc 2015-11-19 01:50:35 EST
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

Note You need to log in before you can comment on or make changes to this bug.