[libvirt] [PATCH v3 00/14] improve graphics listen configuration

Christophe Fergeau cfergeau at redhat.com
Fri May 13 16:35:52 UTC 2016


Hey,

Something which I forgot to mention/test when going through the first
iteration is virsh domdisplay, it's currently failing with
<graphics type='spice'><listen type='socket' socket='/tmp/foo'/></graphics>

I think something like 'spice+unix:///tmp/foo' is expected. This can be
addressed as a follow-up to this series though.

Christophe

On Thu, May 12, 2016 at 05:15:44PM +0200, Pavel Hrdina wrote:
> This patch series improves the way how different listen types can be specified
> and also introduce a new listen types for graphics devices.
> 
> First improvement is to move ports out of graphics element into listen element
> with type address or network.  This is a first step to make the code
> listen-driven.
> 
> Second step is to create a new listen type socket to improve the current vnc
> configuration and to print only socket path witout any other listen types.  With
> the new socket type now we can add support also to spice graphics.
> 
> The last improvement is to introduce new listen type none for spice and vnc
> graphics to specify that the spice graphics shouldn't listen anywhere by default.
> 
> In case of spice graphics the new listen types socket or none are required to
> start a guest with OpenGL support.
> 
> Changes in v3:
>     - add listen type none support for vnc
>     - fix issues pointed out in v2
> 
> Changes in v2:
>     - don't remove vnc_auto_unix_socket from qemu.conf
>     - add spice_auto_unix_socket
> 
> Pavel Hrdina (14):
>   graphics: don't parse listens if socket attribute is present
>   domain_conf: parse listen attribute while parsing listen elements
>   graphics: make address attribute for listen type='address' optional
>   domain_conf: cleanup virDomainGraphicsListenDefParseXML
>   graphics: move port definition to listen element
>   graphics: introduce listen type=socket and use it for VNC
>   qemu_capabilites: add QEMU_CAPS_SPICE_UNIX
>   qemu_command: refactor spice channel code
>   spice: add support for listen type socket
>   qemu_process: separate graphics socket and address generation
>   tests: cleanup vnc auto socket test
>   spice: introduce spice_auto_unix_socket config option
>   spice: introduce listen type none
>   vnc: add support for listen type none
> 
>  docs/formatdomain.html.in                          | 141 +++--
>  docs/schemas/domaincommon.rng                      |  63 +-
>  src/conf/domain_conf.c                             | 637 ++++++++++++++-------
>  src/conf/domain_conf.h                             |  31 +-
>  src/libvirt_private.syms                           |   1 +
>  src/libxl/libxl_conf.c                             |  53 +-
>  src/libxl/libxl_domain.c                           |  17 +-
>  src/qemu/libvirtd_qemu.aug                         |   1 +
>  src/qemu/qemu.conf                                 |  17 +-
>  src/qemu/qemu_capabilities.c                       |   2 +
>  src/qemu/qemu_capabilities.h                       |   1 +
>  src/qemu/qemu_command.c                            | 273 +++++----
>  src/qemu/qemu_conf.c                               |   1 +
>  src/qemu/qemu_conf.h                               |   1 +
>  src/qemu/qemu_domain.c                             |  19 +-
>  src/qemu/qemu_hotplug.c                            |  40 +-
>  src/qemu/qemu_migration.c                          |  50 +-
>  src/qemu/qemu_parse_command.c                      |  41 +-
>  src/qemu/qemu_process.c                            | 351 ++++++++----
>  src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
>  src/security/virt-aa-helper.c                      |  15 +-
>  src/vbox/vbox_common.c                             |  30 +-
>  src/vbox/vbox_tmpl.c                               |  34 +-
>  src/vbox/vbox_uniformed_api.h                      |   4 +-
>  src/vmx/vmx.c                                      |  54 +-
>  src/vz/vz_sdk.c                                    |  30 +-
>  src/xenconfig/xen_common.c                         |  75 ++-
>  src/xenconfig/xen_sxpr.c                           |  71 +--
>  src/xenconfig/xen_xl.c                             |  45 +-
>  .../generic-graphics-listen-back-compat-ports.xml  |  30 +
>  ...generic-graphics-vnc-listen-element-minimal.xml |   2 +-
>  ...aphics-vnc-listen-element-with-address-port.xml |  30 +
>  ...ric-graphics-vnc-socket-attr-listen-address.xml |  30 +
>  ...hics-vnc-socket-attr-listen-socket-mismatch.xml |  30 +
>  ...eric-graphics-vnc-socket-attr-listen-socket.xml |  30 +
>  .../generic-graphics-listen-back-compat-ports.xml  |  30 +
>  .../generic-graphics-listen-back-compat.xml        |   2 +-
>  .../generic-graphics-vnc-listen-attr-only.xml      |   2 +-
>  ...generic-graphics-vnc-listen-element-minimal.xml |   4 +-
>  ...aphics-vnc-listen-element-with-address-port.xml |  30 +
>  ...ic-graphics-vnc-listen-element-with-address.xml |   2 +-
>  .../generic-graphics-vnc-manual-port.xml           |   4 +-
>  .../generic-graphics-vnc-minimal.xml               |   4 +-
>  ...ric-graphics-vnc-socket-attr-listen-address.xml |  30 +
>  ...eric-graphics-vnc-socket-attr-listen-socket.xml |  30 +
>  .../generic-graphics-vnc-socket-listen.xml         |   2 +-
>  .../generic-graphics-vnc-socket.xml                |   4 +-
>  tests/genericxml2xmltest.c                         |   7 +
>  .../qemuargv2xml-graphics-vnc-policy.xml           |   2 +-
>  .../qemuargv2xml-graphics-vnc-sasl.xml             |   2 +-
>  .../qemuargv2xml-graphics-vnc-socket.xml           |   4 +-
>  .../qemuargv2xml-graphics-vnc-tls.xml              |   2 +-
>  .../qemuargv2xml-graphics-vnc-websocket.xml        |   2 +-
>  .../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml |   2 +-
>  ...qemuhotplug-console-compat-2+console-virtio.xml |   2 +-
>  .../qemuxml2argv-console-compat-2.xml              |   2 +-
>  ...emuxml2argv-graphics-spice-auto-socket-cfg.args |  20 +
>  ...qemuxml2argv-graphics-spice-auto-socket-cfg.xml |  30 +
>  .../qemuxml2argv-graphics-spice-auto-socket.args   |  20 +
>  .../qemuxml2argv-graphics-spice-auto-socket.xml    |  30 +
>  .../qemuxml2argv-graphics-spice-socket.args        |  20 +
>  .../qemuxml2argv-graphics-spice-socket.xml         |  30 +
>  .../qemuxml2argv-graphics-vnc-auto-socket-cfg.args |  22 +
>  .../qemuxml2argv-graphics-vnc-auto-socket-cfg.xml  |  34 ++
>  .../qemuxml2argv-graphics-vnc-auto-socket.args     |  20 +
>  .../qemuxml2argv-graphics-vnc-auto-socket.xml      |  30 +
>  .../qemuxml2argv-graphics-vnc-autosocket.args      |  22 -
>  .../qemuxml2argv-graphics-vnc-autosocket.xml       |  34 --
>  .../qemuxml2argv-graphics-vnc-socket.args          |   4 +-
>  .../qemuxml2argv-graphics-vnc-socket.xml           |  10 +-
>  .../qemuxml2argv-video-virtio-gpu-spice-gl.args    |   2 +-
>  tests/qemuxml2argvtest.c                           |  16 +
>  .../qemuxml2xmlout-graphics-listen-network.xml     |   2 +-
>  .../qemuxml2xmlout-graphics-listen-network2.xml    |   4 +-
>  ...muxml2xmlout-graphics-spice-auto-socket-cfg.xml |  35 ++
>  .../qemuxml2xmlout-graphics-spice-auto-socket.xml  |  35 ++
>  .../qemuxml2xmlout-graphics-spice-compression.xml  |   2 +-
>  .../qemuxml2xmlout-graphics-spice-qxl-vga.xml      |   2 +-
>  .../qemuxml2xmlout-graphics-spice-socket.xml       |  35 ++
>  .../qemuxml2xmlout-graphics-spice-timeout.xml      |   4 +-
>  .../qemuxml2xmlout-graphics-spice.xml              |   2 +-
>  ...qemuxml2xmlout-graphics-vnc-auto-socket-cfg.xml |  41 ++
>  .../qemuxml2xmlout-graphics-vnc-auto-socket.xml    |  35 ++
>  .../qemuxml2xmlout-graphics-vnc-autosocket.xml     |  39 --
>  .../qemuxml2xmlout-graphics-vnc-no-listen-attr.xml |   2 +-
>  .../qemuxml2xmlout-graphics-vnc-sasl.xml           |   2 +-
>  .../qemuxml2xmlout-graphics-vnc-socket.xml         |  35 ++
>  .../qemuxml2xmlout-graphics-vnc-tls.xml            |   2 +-
>  .../qemuxml2xmlout-graphics-vnc-websocket.xml      |   2 +-
>  .../qemuxml2xmlout-graphics-vnc.xml                |   2 +-
>  .../qemuxml2xmlout-interface-server.xml            |   4 +-
>  .../qemuxml2xmlout-net-bandwidth.xml               |   4 +-
>  .../qemuxml2xmlout-net-bandwidth2.xml              |   4 +-
>  .../qemuxml2xmlout-pci-bridge.xml                  |   2 +-
>  ...emuxml2xmlout-seclabel-dynamic-none-relabel.xml |   2 +-
>  .../qemuxml2xmlout-serial-spiceport.xml            |   2 +-
>  .../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml   |   3 +-
>  tests/qemuxml2xmltest.c                            |  19 +-
>  tests/sexpr2xmldata/sexpr2xml-curmem.xml           |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml      |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml  |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml    |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml  |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml     |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml  |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml  |   4 +-
>  .../sexpr2xml-fv-serial-dev-2-ports.xml            |   4 +-
>  .../sexpr2xml-fv-serial-dev-2nd-port.xml           |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml   |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml   |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml   |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml    |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml  |   4 +-
>  .../sexpr2xml-fv-serial-tcp-telnet.xml             |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml    |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml    |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml   |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml     |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-sound.xml         |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml      |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml     |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-utc.xml           |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv-v2.xml            |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-fv.xml               |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml  |   4 +-
>  .../sexpr2xml-pv-vfb-new-vncdisplay.xml            |   2 +-
>  tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml       |   2 +-
>  .../sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml  |   4 +-
>  tests/sexpr2xmldata/sexpr2xml-vif-rate.xml         |   4 +-
>  tests/vmx2xmldata/vmx2xml-graphics-vnc.xml         |   4 +-
>  .../test-disk-positional-parms-full.xml            |   2 +-
>  .../test-disk-positional-parms-partial.xml         |   2 +-
>  ...est-fullvirt-direct-kernel-boot-bogus-extra.xml |   2 +-
>  .../test-fullvirt-direct-kernel-boot-extra.xml     |   2 +-
>  .../test-fullvirt-direct-kernel-boot.xml           |   2 +-
>  tests/xlconfigdata/test-fullvirt-multiusb.xml      |   2 +-
>  tests/xlconfigdata/test-fullvirt-nohap.xml         |   2 +-
>  tests/xlconfigdata/test-new-disk.xml               |   2 +-
>  tests/xlconfigdata/test-rbd-multihost-noauth.xml   |   2 +-
>  tests/xlconfigdata/test-spice-features.xml         |   2 +-
>  tests/xlconfigdata/test-spice.xml                  |   2 +-
>  tests/xlconfigdata/test-vif-rate.xml               |   2 +-
>  tests/xmconfigdata/test-escape-paths.xml           |   2 +-
>  .../xmconfigdata/test-fullvirt-default-feature.xml |   2 +-
>  tests/xmconfigdata/test-fullvirt-force-hpet.xml    |   2 +-
>  tests/xmconfigdata/test-fullvirt-force-nohpet.xml  |   2 +-
>  tests/xmconfigdata/test-fullvirt-localtime.xml     |   2 +-
>  tests/xmconfigdata/test-fullvirt-net-netfront.xml  |   2 +-
>  tests/xmconfigdata/test-fullvirt-new-cdrom.xml     |   2 +-
>  tests/xmconfigdata/test-fullvirt-nohap.xml         |   2 +-
>  tests/xmconfigdata/test-fullvirt-parallel-tcp.xml  |   2 +-
>  .../test-fullvirt-serial-dev-2-ports.xml           |   2 +-
>  .../test-fullvirt-serial-dev-2nd-port.xml          |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-file.xml   |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-null.xml   |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-pipe.xml   |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-pty.xml    |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-stdio.xml  |   2 +-
>  .../test-fullvirt-serial-tcp-telnet.xml            |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-tcp.xml    |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-udp.xml    |   2 +-
>  tests/xmconfigdata/test-fullvirt-serial-unix.xml   |   2 +-
>  tests/xmconfigdata/test-fullvirt-sound.xml         |   2 +-
>  tests/xmconfigdata/test-fullvirt-usbmouse.xml      |   2 +-
>  tests/xmconfigdata/test-fullvirt-usbtablet.xml     |   2 +-
>  tests/xmconfigdata/test-fullvirt-utc.xml           |   2 +-
>  tests/xmconfigdata/test-no-source-cdrom.xml        |   4 +-
>  tests/xmconfigdata/test-paravirt-net-e1000.xml     |   2 +-
>  tests/xmconfigdata/test-paravirt-net-vifname.xml   |   2 +-
>  .../test-paravirt-new-pvfb-vncdisplay.xml          |   2 +-
>  tests/xmconfigdata/test-paravirt-new-pvfb.xml      |   2 +-
>  tests/xmconfigdata/test-pci-devs.xml               |   4 +-
>  172 files changed, 2310 insertions(+), 987 deletions(-)
>  create mode 100644 tests/genericxml2xmlindata/generic-graphics-listen-back-compat-ports.xml
>  create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-listen-element-with-address-port.xml
>  create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-socket-attr-listen-address.xml
>  create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-socket-attr-listen-socket-mismatch.xml
>  create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-socket-attr-listen-socket.xml
>  create mode 100644 tests/genericxml2xmloutdata/generic-graphics-listen-back-compat-ports.xml
>  create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-listen-element-with-address-port.xml
>  create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-socket-attr-listen-address.xml
>  create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-socket-attr-listen-socket.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-socket-cfg.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-socket-cfg.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-socket.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-socket.xml
>  delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-autosocket.args
>  delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-autosocket.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-auto-socket-cfg.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-auto-socket.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-socket.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-auto-socket-cfg.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-auto-socket.xml
>  delete mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-socket.xml
> 
> -- 
> 2.8.2
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160513/a05c0106/attachment-0001.sig>


More information about the libvir-list mailing list