Bug 1234729

Summary: guest will have broken settings if we do not specify scheduler in iothreadsched element
Product: Red Hat Enterprise Linux 7 Reporter: Luyao Huang <lhuang>
Component: libvirtAssignee: Peter Krempa <pkrempa>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: dyuan, honzhang, mzhan, pkrempa, rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.2.17-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 06:41: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 Luyao Huang 2015-06-23 06:59:25 UTC
Description of problem:
guest will have broken settings if we do not specify scheduler in iothreadsched element, which will make guest disappear after restart libvirtd

Version-Release number of selected component (if applicable):
libvirt-1.2.16-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. edit domain xml (with --skip-validate) like this:
# virsh edit test4 --skip-validate

  <cputune>
    <vcpusched vcpus='0-2,4'/>
    <iothreadsched iothreads='1-2'/>
  </cputune>

2. recheck the xml 
# virsh dumpxml test4

  <cputune>
    <vcpusched vcpus='0-2,4' scheduler='none'/>
    <iothreadsched iothreads='1-2' scheduler='none'/>
  </cputune>

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

# virsh dumpxml test4
error: failed to get domain 'test4'
error: Domain not found: no domain with matching name 'test4'


Actual results:
libvirt generate a invalid guest xml in step 1

Expected results:
just drop this xml because it doesn't contain any useful information

Additional info:

Comment 1 Peter Krempa 2015-06-23 17:22:45 UTC
Fixed upstream:

commit dc7339fc4f510fba1fdaf03e7287c98539344bf6
Author: Peter Krempa <pkrempa>
Date:   Tue Jun 23 14:25:20 2015 +0200

    conf: Enforce scheduler name when parsing XML
    
    We require the scheduler name attribute in the schemas but the code
    would actually be fine when it was omitted. Make it mandatory.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1234729

v1.2.16-280-gdc7339f

Comment 3 Luyao Huang 2015-07-13 03:21:40 UTC
Verify this issue with libvirt-1.2.17-2.el7.x86_64:

1. edit domain xml (with --skip-validate) like this:

# virsh edit test4 --skip-validate

  <cputune>
    <vcpusched vcpus='0-2'/>
  </cputune>

error: internal error: Missing scheduler attribute
Failed. Try again? [y,n,i,f,?]: 

2. edit domain xml (with --skip-validate) like this:

# virsh edit test4 --skip-validate

  <iothreads>3</iothreads>
  <cputune>
    <iothreadsched iothreads='1-2'/>
  </cputune>

error: internal error: Missing scheduler attribute
Failed. Try again? [y,n,i,f,?]:

Comment 5 errata-xmlrpc 2015-11-19 06:41:48 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-2015-2202.html