1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/instances
catborise 08bf39ef61 fix(instances): domain edits start from the persistent definition
Edits that redefine a domain read the wrong XML:
- boot menu/order, vCPU hotplug and QoS read XMLDesc(0), which has no
  secrets, so every such edit, even on a stopped VM, removed the VNC
  password from the definition;
- console, video, CPU, memory and title/description edits read the live
  XML, so on a running VM pending changes (e.g. a new memory size) were
  reverted and runtime state was written into the definition.

All of them now read VIR_DOMAIN_XML_INACTIVE | SECURE (PERSISTENT_XML).
The console setters take the first graphics device of that definition
instead of looking it up by the live type.

Disk resize no longer redefines the domain. A running VM's image files
grow through blockResize, since qemu-img cannot take the lock QEMU
holds; block volumes (e.g. LVM) are grown by the storage pool first and
QEMU is then told the new size.

Live tests reproduce the losses on a RHEL qemu-kvm host; unit tests
check the XML flags, the console setters and the resize paths in CI.
2026-10-04 01:08:11 +03:00
..
api ci: replace super-linter with ruff 2026-10-04 01:08:11 +03:00
fixtures Instances overhaul 2020-07-13 15:33:09 +06:00
migrations fix(reconciliation): serialize compute sync and enforce UUID identity 2026-09-28 14:55:49 +03:00
templates fix(instances): change the edited NIC instead of adding a new one 2026-10-04 01:08:11 +03:00
templatetags lint with black python. convert f style strings to old one. some small fixes 2020-11-05 12:34:31 +03:00
__init__.py Fixe migrations for new deployments 2020-05-28 18:19:25 +06:00
apps.py format python code with black 2022-11-02 08:54:35 +03:00
forms.py Corrected untranslated items 2023-12-13 14:00:02 +08:00
livetest.py fix(instances): domain edits start from the persistent definition 2026-10-04 01:08:11 +03:00
models.py fix(instances): find known VMs by UUID, not by name 2026-10-04 01:08:11 +03:00
test_change_network.py fix(instances): change the edited NIC instead of adding a new one 2026-10-04 01:08:11 +03:00
test_clone_permission.py fix(instances): disk edits keep their XML; changes lock per VM 2026-10-04 01:08:11 +03:00
test_console_rule.py fix(instances): find known VMs by UUID, not by name 2026-10-04 01:08:11 +03:00
test_console_settings_access.py fix(instances): show console settings and the VNC password only to console managers 2026-10-02 22:04:05 +03:00
test_create_instance.py fix(instances): guard mutations and refresh lists after sync 2026-09-28 14:56:19 +03:00
test_destroy.py fix(instances): destroy and volume delete no longer lose disks 2026-10-04 01:08:11 +03:00
test_disk_isolation.py ci: replace super-linter with ruff 2026-10-04 01:08:11 +03:00
test_gstfsd.py fix(gstfsd): append SSH keys, IPv6 loopback bind, server-side timeout 2026-10-03 00:02:01 +03:00
test_index.py fix(instances): guard mutations and refresh lists after sync 2026-09-28 14:56:19 +03:00
test_live_dataloss.py fix(instances): internal snapshots no longer rewrite UEFI loaders 2026-10-04 01:08:11 +03:00
test_live_xml.py fix(instances): domain edits start from the persistent definition 2026-10-04 01:08:11 +03:00
test_quota_lock.py fix(instances): disk edits keep their XML; changes lock per VM 2026-10-04 01:08:11 +03:00
test_root_pass.py fix(instances): find known VMs by UUID, not by name 2026-10-04 01:08:11 +03:00
test_security_mutations.py ci: replace super-linter with ruff 2026-10-04 01:08:11 +03:00
test_template_flag.py fix(instances): only superusers and staff may change the template flag 2026-10-02 22:13:46 +03:00
test_xss.py test: inventory HTML sinks in templates, realistic datasource params in the matrix 2026-10-03 00:00:27 +03:00
tests.py test(instances): isolate the live libvirt suite on shared hosts 2026-10-04 01:08:11 +03:00
urls.py fix: add an authorization matrix test and close the endpoints it finds 2026-10-02 20:33:12 +03:00
utils.py fix(instances): find known VMs by UUID, not by name 2026-10-04 01:08:11 +03:00
views.py fix(instances): internal snapshots no longer rewrite UEFI loaders 2026-10-04 01:08:11 +03:00