1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-24 17:28:08 +00:00

QEMU - SPICE support at build options and schemas

This commit is contained in:
ziajka 2017-06-16 10:17:26 +02:00
parent c91a001729
commit 88c2353e2e
3 changed files with 20 additions and 3 deletions

View File

@ -1304,6 +1304,14 @@ class QemuVM(BaseNode):
else:
return []
def _spice_options(self):
if self._console:
return ["-spice",
"addr={},port={},disable-ticketing".format(self._manager.port_manager.console_host, self._console)]
else:
return []
def _monitor_options(self):
if self._monitor:
@ -1563,6 +1571,8 @@ class QemuVM(BaseNode):
command.extend(self._serial_options())
elif self._console_type == "vnc":
command.extend(self._vnc_options())
elif self._console_type == "spice":
command.extend(self._spice_options())
else:
raise QemuError("Console type {} is unknown".format(self._console_type))
command.extend(self._monitor_options())

View File

@ -63,7 +63,7 @@ QEMU_CREATE_SCHEMA = {
},
"console_type": {
"description": "Console type",
"enum": ["telnet", "vnc"]
"enum": ["telnet", "vnc", "spice"]
},
"hda_disk_image": {
"description": "QEMU hda disk image path",
@ -244,7 +244,7 @@ QEMU_UPDATE_SCHEMA = {
},
"console_type": {
"description": "Console type",
"enum": ["telnet", "vnc"]
"enum": ["telnet", "vnc", "spice"]
},
"linked_clone": {
"description": "Whether the VM is a linked clone or not",
@ -541,7 +541,7 @@ QEMU_OBJECT_SCHEMA = {
},
"console_type": {
"description": "Console type",
"enum": ["telnet", "vnc"]
"enum": ["telnet", "vnc", "spice"]
},
"initrd": {
"description": "QEMU initrd path",

View File

@ -366,6 +366,13 @@ def test_vnc_option(vm, tmpdir, loop, fake_qemu_img_binary):
assert '-vnc 127.0.0.1:5' in ' '.join(options)
def test_spice_option(vm, tmpdir, loop, fake_qemu_img_binary):
vm._console_type = 'spice'
vm._console = 5905
options = loop.run_until_complete(asyncio.async(vm._build_command()))
assert '-spice addr=127.0.0.1,port=5905,disable-ticketing' in ' '.join(options)
def test_disk_options_multiple_disk(vm, tmpdir, loop, fake_qemu_img_binary):
vm._hda_disk_image = str(tmpdir / "test0.qcow2")