[libvirt] attach-device error: XML error: unknown device type

Chris Evich cevich at redhat.com
Fri Jul 5 15:39:57 UTC 2013


On 07/04/2013 03:43 AM, Michal Privoznik wrote:
> On 03.07.2013 20:34, Chris Evich wrote:
>> On 07/03/2013 09:46 AM, Daniel P. Berrange wrote:
>>> On Wed, Jul 03, 2013 at 09:44:46AM -0400, Chris Evich wrote:
>>>> Hi,
>>>>
>>>> On Fedora 18 (libvirt 0.10.2.6-1) I'm trying to add a new serial device
>>>> to a KVM VM with:
>>>>
>>>> virsh attach-device foobar /tmp/serial.xml
>>>>
>>>> and I keep getting:
>>>>
>>>> error: Failed to attach device from /tmp/serial.xml
>>>> error: XML error: unknown device type
>>>>
>>>> with serial.xml:
>>>>
>>>> <serial type='file'>
>>>>   <source path='/tmp/serialfile'/>
>>>>   <target port='1'/>
>>>> </serial>
>>>>
>>>> Though I tried it w/o the <target> tag, with and without the --config
>>>> flag, and with and without the guest running.  Assuming it's similar, I
>>>> tried and was successful in adding this device via virt-manager, though
>>>> it complains if the VM is running (which is fine).
>>>>
>>>> What am I doing wrong with the virsh attach-device command or XML?
>>>
>>> There is no support for hotplug of any character device (that
>>> covers serial, parallel, console, channnel elements in the XML)
>>>
>>>
>>> Daniel
>>>
>>
>> Oops, sorry, should have been more clear than "and with and without the
>> guest running".
>>
>> * I see the 'unknown device type' error when guest is running and I run
>>   "virsh attach-device foobar /tmp/serial.xml --config".
>>
>> * I also get 'unknown device type' error when guest is NOT running, and
>>   I run "virsh attach...." both with or without '--config' flag.
>>
>> * I see the 'unknown device type' error inside the "details" window
>>   when the guest is running and I use virt-manager.
>>
>> * I do NOT get any error, and the device is attached, when I use
>>   virt-manager, and the guest is NOT running (or by clicking yes
>>   after getting error in above bullet).
>>
>> The main difference in using virt-manager, is that I'm selecting the
>> file type and entering in the values manually instead of in an XML file.
> 
> This works as expected. Device attach implementation currently doesn't
> know how to handle <serial/> or any other character device. It doesn't
> matter if you're doing --live or --config hotplug. However, if you are
> trying virt-manager on a not running guest, then I guess virt-manager is
> just clever enough to redefine the domain and not call any hotplug API.
> This is equivalent to:
> 
> # virsh destroy $guest
> # virsh edit $guest (insert desired chardev XML snippet)
> # virsh start $guest
> 
> 
> Michal

Thanks.  So, possibly virt-manager is trying to do the attach-device
thing, failing, then using a different interface.  I guess that seems
plausible.  Though it would be nice if the libvirt docs were updated for
this command, explaining it only works for hot-puggable "hardware"
whether or not the --config option is used.

Also the 'unknown device type' error is certainly troublesome at best,
since it clearly does know what the type is, the XML is valid and should
parse.  In other words, the error is very different from the actual
underlying problem, which makes for much more difficult troubleshooting
and debugging.

Should I open some bugs on this, or would they just get *NTFIX immediately?

Thanks again.

-- 
Chris Evich, RHCA, RHCE, RHCDS, RHCSS
Quality Assurance Engineer
e-mail: cevich + `@' + redhat.com o: 1-888-RED-HAT1 x44214




More information about the libvir-list mailing list