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

Michal Privoznik mprivozn at redhat.com
Mon Jul 8 13:13:43 UTC 2013


On 05.07.2013 17:39, Chris Evich wrote:
> 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.
> 

Please do open a bug.

Michal




More information about the libvir-list mailing list