[libvirt] [PATCH 1/2] qemu: Support SPICE listen over unix socket

Pavel Hrdina phrdina at redhat.com
Tue Mar 22 08:59:02 UTC 2016


On Tue, Mar 22, 2016 at 09:49:34AM +0100, Christophe Fergeau wrote:
> Hey,
> 
> On Tue, Mar 22, 2016 at 09:13:44AM +0100, Pavel Hrdina wrote:
> > On Mon, Mar 21, 2016 at 07:30:44PM -0400, Cole Robinson wrote:
> > > Add support for SPICE listen over unix socket. This has been in qemu
> > > since v2.3. The XML is:
> > > 
> > >   <spice socket='/path/to/socket'/>
> > > 
> > > Which matches support for VNC listen over unix socket.
> > > 
> > > https://bugzilla.redhat.com/show_bug.cgi?id=1151761
> 
> > > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-unix.xml b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-unix.xml
> > > new file mode 100644
> > > index 0000000..6c6be44
> > > --- /dev/null
> > > +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-unix.xml
> > > @@ -0,0 +1,27 @@
> > > +<domain type='qemu'>
> > > +  <name>QEMUGuest1</name>
> > > +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> > > +  <memory unit='KiB'>219136</memory>
> > > +  <currentMemory unit='KiB'>219136</currentMemory>
> > > +  <vcpu placement='static'>1</vcpu>
> > > +  <os>
> > > +    <type arch='i686' machine='pc'>hvm</type>
> > > +    <boot dev='hd'/>
> > > +  </os>
> > > +  <clock offset='utc'/>
> > > +  <on_poweroff>destroy</on_poweroff>
> > > +  <on_reboot>restart</on_reboot>
> > > +  <on_crash>destroy</on_crash>
> > > +  <devices>
> > > +    <emulator>/usr/bin/qemu</emulator>
> > > +    <controller type='usb' model='none' index='0'/>
> > > +    <controller type='pci' index='0' model='pci-root'/>
> > > +    <input type='mouse' bus='ps2'/>
> > > +    <input type='keyboard' bus='ps2'/>
> > > +    <graphics type='spice' socket='/tmp/spice.socket'/>
> > 
> > This is an old way to specify listen type.  It would be better to add a new
> > <listen type='socket' socket='/tmp/spice.socket'/>.  Actually I'm working on
> > this support and I have my patches almost finished but they depends on this
> > patch series:
> > 
> > https://www.redhat.com/archives/libvir-list/2016-March/msg00631.html
> > 
> > You can see my progress there:
> > 
> > https://github.com/Antique/libvirt/tree/spice-unix-socket
> 
> We briefly discussed about this with Cole on IRC, and what you suggest
> is indeed the way forward. His patch is a quick way to get
> feature-parity with what VNC does, and we were not aware of your series.
> 
> You seem to be adding
> <listen type='socket' socket='/tmp/foo.sock'/>
> 
> I think <listen type='unix' path='/tmp/foo.sock'/> would be more
> consistent with what is done for channels, /interface/source, ...
> 
> Christophe

I know, Cole's patch is an easy and quick way but we will have to deal with it
for the rest of libvirt's lifetime.  That's why I've ended with rather larger
series that cleanup a lot of staff and introduce new listen type instead.

I'm waiting for review of my qemu-process cleanups and after that I'll post this
series to list.

Pavel




More information about the libvir-list mailing list