<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 07/04/2013 02:34 AM, Chris Evich wrote:
    <blockquote cite="mid:51D46EC8.1010007@redhat.com" type="cite">
      <pre wrap="">On 07/03/2013 09:46 AM, Daniel P. Berrange wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On Wed, Jul 03, 2013 at 09:44:46AM -0400, Chris Evich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">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?
</pre>
        </blockquote>
        <pre wrap="">
There is no support for hotplug of any character device (that
covers serial, parallel, console, channnel elements in the XML)


Daniel

</pre>
      </blockquote>
      <pre wrap="">
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).
</pre>
    </blockquote>
    <br>
    This error is raised by the virDomainDeviceDefParse(), which should
    be a common <br>
    device XML parser function not only focus on XML parser for
    hotplugging some <br>
    device, so I think "Can't hotplug this" isn't appropriate in here at
    least. <br>
    <br>
    In addition, maybe, libvirt should add relevant character device
    parser function into<br>
    the virDomainDeviceDefParse() such as virDomainSerialDefParseXML(),
    <br>
    virDomainConsoleDefParseXML(), etc.<br>
    <br>
     <br>
    <blockquote cite="mid:51D46EC8.1010007@redhat.com" type="cite">
      <pre wrap="">
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'/>


</pre>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
--
libvir-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/libvir-list">https://www.redhat.com/mailman/listinfo/libvir-list</a></pre>
    </blockquote>
    <br>
  </body>
</html>