1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-10 04:06:47 +00:00

feat(console): VNC is the only console type

SPICE was removed earlier; its leftovers and the console type choice go
too:
- the console settings form, update_console and the backend no longer
  offer or change the type; an invalid console form now shows its
  errors instead of being ignored;
- the create form, the API serializer and create_instance no longer take
  a graphics type, new VMs get VNC; get_graphics_types and the graphics
  entries of the domain capabilities are gone;
- migration appsettings.0013 deletes QEMU_CONSOLE_DEFAULT_TYPE;
- a VM defined elsewhere with another graphics type gets "Console type
  ... is not supported".

The locale catalogs still reference the deleted SPICE templates in
source comments; regenerating them is left to the translation work.
This commit is contained in:
catborise 2026-10-04 00:27:55 +03:00
parent 9f86330552
commit e5fda79f5a
18 changed files with 74 additions and 127 deletions

View file

@ -9,11 +9,11 @@ if not settings.configured:
from lxml import etree
from vrtManager.instance import PERSISTENT_XML, wvmInstance
LIVE = "<domain><devices><graphics type='vnc' passwd='live'><listen type='address'/></graphics></devices></domain>"
PERSISTENT = "<domain><devices><graphics type='spice' passwd='old'><listen type='address'/></graphics></devices></domain>"
LIVE = "<domain><devices><graphics type='vnc' passwd='live' keymap='en-us'><listen type='address'/></graphics></devices></domain>"
PERSISTENT = "<domain><devices><graphics type='vnc' passwd='old'><listen type='address'/></graphics></devices></domain>"
def running_vm_with_pending_graphics_type():
def running_vm_with_pending_changes():
vm = wvmInstance.__new__(wvmInstance)
vm.wvm = MagicMock()
vm._XMLDesc = MagicMock(side_effect=lambda flags: PERSISTENT if flags == PERSISTENT_XML else LIVE)
@ -31,13 +31,15 @@ class ConsoleSettersTestCase(unittest.TestCase):
"set_console_passwd": (lambda vm: vm.set_console_passwd("new"), "passwd", "new"),
"set_console_keymap": (lambda vm: vm.set_console_keymap("de"), "keymap", "de"),
"set_console_listener_addr": (lambda vm: vm.set_console_listener_addr("127.0.0.1"), "listen", "127.0.0.1"),
"set_console_type": (lambda vm: vm.set_console_type("vnc"), "type", "vnc"),
}
for name, (edit, attr, value) in edits.items():
with self.subTest(name):
vm = running_vm_with_pending_graphics_type()
vm = running_vm_with_pending_changes()
edit(vm)
self.assertEqual(self.defined_graphics(vm).get(attr), value)
graphics = self.defined_graphics(vm)
self.assertEqual(graphics.get(attr), value)
# Built from the persistent device, not the live one
self.assertNotEqual(graphics.get("passwd"), "live")
if __name__ == "__main__":