[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



On 07/04/2013 02:34 AM, 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.

A loosely-related problem is with serial-hot plug (which is expected to
not work).  The error message reported under details is the same/similar
'device type error'.  Whereas I was expecting something more specific
like a "Can't hotplug this" error (see screenshot).

This error is raised by the virDomainDeviceDefParse(), which should be a common
device XML parser function not only focus on XML parser for hotplugging some
device, so I think "Can't hotplug this" isn't appropriate in here at least.

In addition, maybe, libvirt should add relevant character device parser function into
the virDomainDeviceDefParse() such as virDomainSerialDefParseXML(),
virDomainConsoleDefParseXML(), etc.

 
Either way, the main thing I'm concerned about is the "cold-plug" +
device-type error.  Here's what I'm doing:

[root cevich ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 6     foobar                         running

[root cevich ~]# virsh attach-device foobar /tmp/serial.xml
error: Failed to attach device from /tmp/serial.xml
error: XML error: unknown device type

[root cevich ~]# virsh shutdown foobar
Domain foobar is being shutdown

[root cevich ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     foobar                         shut off

[root cevich ~]# virsh attach-device foobar /tmp/serial.xml --config
error: Failed to attach device from /tmp/serial.xml
error: XML error: unknown device type

[root cevich ~]# virsh start foobar

<see screenshot>

Then...

[root cevich ~]# virsh shutdown foobar
Domain foobar is being shutdown

[root cevich ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     foobar                         shut off

[root cevich ~]# virsh dumpxml foobar | grep -A2 "serial type='file'"
    <serial type='file'>
      <source path='/tmp/serialfile'/>
      <target port='1'/>


-- libvir-list mailing list libvir-list redhat com https://www.redhat.com/mailman/listinfo/libvir-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]