Bug 982304
Summary: | virsh attach-device XML error with valid XML | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Chris Evich <cevich> | |
Component: | libvirt | Assignee: | Michal Privoznik <mprivozn> | |
Status: | CLOSED NEXTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | |
Severity: | medium | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 6.4 | CC: | acathrow, bili, dyuan, honzhang, mprivozn, xuzhang | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | x86_64 | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 983616 (view as bug list) | Environment: | ||
Last Closed: | 2013-07-11 14:32:25 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: | ||||
Bug Blocks: | 983616 |
Description
Chris Evich
2013-07-08 15:39:43 UTC
(In reply to Chris Evich from comment #0) > Description of problem: > With valid XML, attaching a device with 'virsh attach-device' gives > inaccurate & confusing error, or doesn't work when virt-manager does. > > error: Failed to attach device from /tmp/serial.xml > error: XML error: unknown device type > > > Version-Release number of selected component (if applicable): > libvirt-0.10.2-18.el6_4.8.x86_64 > > How reproducible: > Very > > Steps to Reproduce: > > Scenario A- > 1. Create qemu-kvm domain, OS doesn't matter. > 2. Start domain > 3. virsh attach-device foobar /tmp/serial.xml > > Scenario B- > 1. Shutdown/destroy qemu-kvm domain. > 2. Confirm domain is NOT running. > 3. virsh attach-device foobar /tmp/serial.xml --config > > Scenario C- > 1. start qemu-kvm domain, OS doesn't matter > 2. Open domain in virt-manager, click add device > 3. Manually add file-backed serial device as in XML. > 4. Review error in 'details' box of error dialog. > 5. Click Yes, restart domain. > 6. Device attached and working as expected. > > > Actual results: > > Scenario A- "error: XML error: unknown device type" suggests XML parsing > problem, but XML is valid though device is not hot-plugable. > > Scenario B- "error: XML error: unknown device type" when device is known, > XML is valid, and supported for off-line attachment (Scenario C) > > Scenario C- Error dialog, offering to perform off-line device addition. > Detail box concludes with: "error: XML error: unknown device type". > I think the real bug is confusing error message. > > Expected results: > > Scenario A- An error message indicating device could not be hotplugged. > > Scenario B- Serial device is successfully attached to off-line domain. > > Scenario C- Any device attachable via virt-manager, should be attachable in > similar way through virsh attach-device command. I think when coldplugging a device, virt-manager just dumps domain XML, inserts the device XML snip and re-define domain. Question is - do we want virsh attach-device --config to do the same? > > Additional info: > > Mailing list thread: > https://www.redhat.com/archives/libvir-list/2013-July/msg00202.html > > XML used was: > > <serial type='file'> > <source path='/tmp/serialfile'/> > <target port='1'/> > </serial> > > where /tmp/serialfile does not already exist. Patch proposed upstream: https://www.redhat.com/archives/libvir-list/2013-July/msg00679.html I've just pushed patches upstream: commit 95ff6a3993436daa3d1bb46ffc9d3be3530c00a6 Author: Michal Privoznik <mprivozn> AuthorDate: Thu Jul 11 13:24:20 2013 +0200 Commit: Michal Privoznik <mprivozn> CommitDate: Thu Jul 11 16:19:10 2013 +0200 qemu: Fix hot (un-)plug error codes and messages With current code, error reporting for unsupported devices for hot plug, unplug and update is total mess. The VIR_ERR_CONFIG_UNSUPPORTED error code is reported instead of VIR_ERR_OPERATION_UNSUPPORTED. Moreover, the error messages are not helping to find the root cause (lack of implementation). commit 38f151fe9b2e3f235fa8537b06f21ee7d42aed72 Author: Michal Privoznik <mprivozn> AuthorDate: Thu Jul 11 12:18:36 2013 +0200 Commit: Michal Privoznik <mprivozn> CommitDate: Thu Jul 11 16:19:00 2013 +0200 conf: Rework virDomainDeviceDefParse When adding a new domain device, it is fairly easy to forget to add corresponding piece into virDomainDeviceDefParse. However, if the internal structure is changed to one bit switch() the compiler will warn about not handled enum item. commit b63ea467617e3cbee4282ab2e5e780b4119cef3d Author: Michal Privoznik <mprivozn> AuthorDate: Thu Jul 11 11:20:34 2013 +0200 Commit: Michal Privoznik <mprivozn> CommitDate: Thu Jul 11 16:07:04 2013 +0200 conf: Extend device types handled by virDomainDeviceDefParse Not all device types are currently parsed in virDomainDeviceDefParse, Since all needed functions do exist, nothing holds us back to make the implementation complete. Similarly, the virDomainDeviceDefFree needs to be updated as well. CVE-2013-2230-49-gb0cb524 Oh yes, good error message here is certainly first step to make this much better: error: Operation not supported: persistent detach of device 'memballoon' is not supported This is much more helpful! (In reply to Michal Privoznik from comment #1) > (In reply to Chris Evich from comment #0) > > Expected results: > > > > Scenario A- An error message indicating device could not be hotplugged. > > > > Scenario B- Serial device is successfully attached to off-line domain. > > > > Scenario C- Any device attachable via virt-manager, should be attachable in > > similar way through virsh attach-device command. > > I think when coldplugging a device, virt-manager just dumps domain XML, > inserts the device XML snip and re-define domain. Question is - do we want > virsh attach-device --config to do the same? I cloned just this part into Bug 983616 since it's a separate problem. |