[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