Bug 1028107
| Summary: | 'virsh dumpxml <lxc container>' created xml does not validate against schema | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | michal novacek <mnovacek> | ||||
| Component: | libvirt | Assignee: | Ján Tomko <jtomko> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 7.0 | CC: | acathrow, ajia, dyuan, eblake, jtomko, lsu, mzhan | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | libvirt-1.1.1-12.el7 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-06-13 10:19:20 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: | |||||||
| Attachments: |
|
||||||
For back-compat reasons, we cannot reject .xml files that don't validate by default; but there IS an open request to add a flag, where if the flag is specified, we do a validation before allowing use of the xml. But failing to validate output from dumpxml is ALWAYS a bug, so we should definitely fix that issue. Proposed upstream patch fixing the RNG schema: https://www.redhat.com/archives/libvir-list/2013-November/msg00258.html Now fixed upstream:
commit eab51940bd9d3b5f8b73f52c50ba6d00648f0909
Author: Ján Tomko <jtomko>
AuthorDate: 2013-11-07 18:14:32 +0100
Commit: Ján Tomko <jtomko>
CommitDate: 2013-11-07 18:43:15 +0100
Allow root directory in filesystem source dir schema
Use absDirPath instead of absFilePath.
https://bugzilla.redhat.com/show_bug.cgi?id=1028107
git describe: v1.1.4-46-geab5194
Use the default xml created by virt-manager
a.xml:
<domain type='lxc' id='3211'>
<name>test</name>
<uuid>02ea2ce6-55c7-4c4b-aef2-cddf9edecc8f</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64'>exe</type>
<init>/bin/sh</init>
</os>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/libvirt_lxc</emulator>
<filesystem type='mount' accessmode='passthrough'>
<source dir='/'/>
<target dir='/'/>
</filesystem>
<interface type='network'>
<mac address='00:16:3e:54:f2:8c'/>
<source network='default'/>
<target dev='vnet0'/>
</interface>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='lxc' port='0'/>
<alias name='console0'/>
</console>
</devices>
<seclabel type='none' model='selinux'/>
</domain>
Reproduced on libvirt-1.1.1-11.el7.x86_64:
#virt-xml-validate /tmp/a.xml
Relax-NG validity error : Extra element devices in interleave
/tmp/a.xml:1: element domain: Relax-NG validity error : Element domain failed to validate content
/tmp/a.xml fails to validate
Verified on libvirt-1.1.1-12.el7.x86_64:
#virt-xml-validate /tmp/a.xml
/tmp/a.xml validates
So set VERIFIED
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |
Created attachment 821253 [details] dumped xml file that does not validate with virt-xml-validate command Description of problem: I have lxc container hapily running under libvirt. Creating xml of it with 'virsh dumpxml' creates xml that does not validate against schema using virt-xml-validate. In my opinion the problem is that xml file is accepted by 'virsh define' without checking its validity against the schema. I'm not sure why this is not done but I do believe that only valid xml files should be used for domain creation. Version-Release number of selected component (if applicable): libvirt-client-1.1.1-11.el7.x86_64 How reproducible: always Steps to Reproduce: 1. take attached lxc.xml file 2. virsh -c lxc:/// define lxc.xml 3. virsh -c lxc:/// start lxc1 4. virsh -c lxc:/// dumpxml lxc1 > /tmp/a.xml 5. virt-xml-validate /tmp/a.xml Actual results: dumpxml output would not validate Expected results: dumpxml output valid.