Add a special listen value to disable any extra display server listening socket. This is necessary now that qemu prevents starting a spice+virgl VM with listening sockets (until spice allows remoting with virgl). Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> --- man/virt-install.pod | 9 +++++++-- tests/cli-test-xml/compare/virt-install-many-devices.xml | 4 ++++ tests/clitest.py | 1 + virtinst/cli.py | 11 ++++++++++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/man/virt-install.pod b/man/virt-install.pod index 0bc3d8c..0537693 100644 --- a/man/virt-install.pod +++ b/man/virt-install.pod @@ -964,8 +964,13 @@ Specify the spice tlsport. Address to listen on for VNC/Spice connections. Default is typically 127.0.0.1 (localhost only), but some hypervisors allow changing this globally (for example, the qemu driver default can be changed in /etc/libvirt/qemu.conf). -Use 0.0.0.0 to allow access from other machines. This is use by 'vnc' and -'spice' +Use 0.0.0.0 to allow access from other machines. + +Use 'none' to specify that the display server should not listen on any +port. The display server can be accessed only locally through +libvirt unix socket (virt-viewer with --attach for instance). + +This is used by 'vnc' and 'spice' =item B<keymap> diff --git a/tests/cli-test-xml/compare/virt-install-many-devices.xml b/tests/cli-test-xml/compare/virt-install-many-devices.xml index e771cd3..d268cd9 100644 --- a/tests/cli-test-xml/compare/virt-install-many-devices.xml +++ b/tests/cli-test-xml/compare/virt-install-many-devices.xml @@ -214,6 +214,10 @@ <gl enable="yes"/> <image compression="off"/> </graphics> + <graphics type="spice" autoport="no"> + <gl enable="yes"/> + <image compression="off"/> + </graphics> <serial type="tcp"> <source mode="bind" host="127.0.0.1" service="2222"/> <protocol type="telnet"/> diff --git a/tests/clitest.py b/tests/clitest.py index e67379a..ef96fe7 100644 --- a/tests/clitest.py +++ b/tests/clitest.py @@ -477,6 +477,7 @@ c.add_compare(""" \ --graphics spice,port=5950,tlsport=5950,listen=1.2.3.4,keymap=ja \ --graphics spice,image_compression=foo,streaming_mode=bar,clipboard_copypaste=yes,mouse_mode=client,filetransfer_enable=on \ --graphics spice,gl=yes \ +--graphics spice,gl=yes,listen=none \ \ --controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 \ --controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 \ diff --git a/virtinst/cli.py b/virtinst/cli.py index 8a3f6ae..d6d8c4f 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -1875,10 +1875,19 @@ class ParserGraphics(VirtCLIParser): return inst.type = val + def set_listen_cb(opts, inst, cliname, val): + if val == "none": + inst.port = None + inst.tlsPort = None + inst.listen = None + inst.autoport = False + else: + inst.listen = val + self.set_param(None, "type", setter_cb=set_type_cb) self.set_param("port", "port") self.set_param("tlsPort", "tlsport") - self.set_param("listen", "listen") + self.set_param("listen", "listen", setter_cb=set_listen_cb) self.set_param(None, "keymap", setter_cb=set_keymap_cb) self.set_param("passwd", "password") self.set_param("passwdValidTo", "passwordvalidto") -- 2.7.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list