[libvirt] libvirt spice command line appears to be incorrect (was: Re: [virt-tools-list] vdagent does not start with domain defined by virt-manager 0.8.7)

Richard W.M. Jones rjones at redhat.com
Mon Apr 25 08:27:04 UTC 2011


[Copying this to libvir-list]

On Mon, Apr 25, 2011 at 01:07:37AM +0400, Emre Erenoglu wrote:
> Hi,
> 
> I'm the package maintainer for virt-manager and related packages for Pardus
> distribution. While testing the latest libvirt, virtinst & virt-manager
> packages, I've come across a strange issue and I would like to get your
> valuable opinion.
> 
> I add all spice related devices and everything works good, except the
> vdagent inside the windows xp guest. The virtio serial driver is loaded
> correctly. As I track down the issue, I found out that libvirt is starting
> qemu-kvm with parameters which do not match the ones adviced by the spice
> people. Please see below email discussion with them on this. The offending
> line seems to be the chardev parameter.  qemu-kvm is started by virt-manager
> with the following parameter for chardev:
> 
> -chardev null,id=channel0
> 
> and the full spice related parameters are:
> 
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8 -chardev
> null,id=channel0 -device
> virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=com.redhat.spice.0
> -usb -device usb-tablet,id=input0 -spice
> port=5900,addr=127.0.0.1,disable-ticketing -vga qxl -device
> qxl,id=video1,bus=pci.0,addr=0x7
> 
> while spice people adviced:
> 
> -chardev spicevmc,id=channel0,name=vdagent
> 
> and the rest of the parameters to match it. See below mail on the details.
> I don't know if this is really the issue, but I also recognize the following
> inside the domain XML:
> 
>     <channel type='null'>
>       <target type='virtio' name='com.redhat.spice.0'/>
>       <address type='virtio-serial' controller='0' bus='0' port='0'/>
>     </channel>
> 
> the "channel type" is listed as "null", while I assume it should have been
> listed as "spicevmc". (not sure of this, I saw this in some other
> websites).  When I edit the domain xml with virsh edit, it saves my changes
> but the "null" stays the same how many times I try to change it.
> 
> Please note that I've applied the following patches to virtinst 0.500.6:
> 
> constrain-spicevmc-usage-correct.patch
> virtinst-fix-channel-parse.patch
> virtinst-spicevmc-fixes.patch
> 
> which I obtained from the git. I also patched virt-manager 0.8.7 with the
> following I obtained from the git:
> 
> chardev-hide-unsupported-params-for-selected-type.patch
> only-show-relevant-char-device-fields.patch
> show-char-device-target-name.patch
> chardev-propose-to-add-remove-spice-agent.patch
> allow-setting-char-device-target-name.patch
> fix-adding-removing-channel-device.patch
> 
> Any idea what I might be missing to get the vdagent run inside the windows
> guest?
> 
> Many thanks,
> 
> Emre Erenoglu
> 
> ---------- Forwarded message ----------
> From: Marian Krcmarik <mkrcmari at redhat.com>
> Date: Mon, Apr 18, 2011 at 5:56 PM
> Subject: Re: [Spice-devel] vdagent does not start
> To: Emre Erenoglu <erenoglu at gmail.com>
> Cc: spice-devel at lists.freedesktop.org
> 
> 
> 
> 
> ----- Original Message -----
> > From: "Emre Erenoglu" <erenoglu at gmail.com>
> > To: spice-devel at lists.freedesktop.org
> > Sent: Sunday, April 17, 2011 1:10:16 PM
> > Subject: [Spice-devel] vdagent does not start
> > Dear Developers,
> >
> > I have a virtual XP system with the spice channel enabled through the
> > serial port. The command line that runs qemu has (reduced):
> >
> > -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8
> > -chardev null,id=channel0 -device
> >
> virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=com.redhat.spice.0
> > -usb -device usb-tablet,id=input0 -spice
> > port=5900,addr=127.0.0.1,disable-ticketing -vga qxl -device
> > qxl,id=video1,bus=pci.0,addr=0x7
> 
> I think you may need to specify chardev for spice so I would modify:
> 
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8  -chardev
> spicevmc,id=channel0,name=vdagent -device
> virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=com.redhat.spice.0
> -usb -device usb-tablet,id=input0 -spice
> port=5900,addr=127.0.0.1,disable-ticketing -vga qxl -device
> qxl,id=video1,bus=pci.0,addr=0x7
> 
> with agent and virtio-serial driver installed on guest.
> >
> > However, the vdagent services does not start. when I give it a start
> > control, it reports to start then stop immediately. Here are the logs
> > I've found:
> 
> 
> 
> -- 
> Emre



-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora




More information about the libvir-list mailing list