1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances
catborise 5ee13f305d fix(gstfsd): find the guest OS by inspection, answer once, and stop a change at its deadline
gstfsd mounted every partition it listed: a root on LVM was never found,
a disk with two OS roots got the change twice and two concatenated
replies, and no root, an error or a request longer than 1024 bytes ended
the connection without a reply. It now lets libguestfs inspect the guest,
mounts its one OS the way the guest does (a broken filesystem off the
changed path is left out), and sends exactly one reply, keeping the first
error. The root entry is found on any line of /etc/shadow and must be
unique; a key needs no shadow file. A request is at most 64 KiB. Each
change runs in a worker process with a directly started appliance; both
are killed when the request is not done 100 s after gstfsd accepted it
(GSTFSD_DEADLINE may only lower that), before the panel's 120 s timeout
releases the VM, or when the panel's connection ends, and the reply waits
until they are gone, so nothing touches the disk once the panel has given
up. A worker that dies says why. The panel
connects over IPv4 or IPv6, sends the whole request and reads the reply
until gstfsd closes.
2026-10-08 08:50:21 +03:00
..
api feat(instances): auto converge is on by default for a live migration 2026-10-06 17:04:03 +03:00
fixtures Instances overhaul 2020-07-13 15:33:09 +06:00
migrations fix(computes): VM ownership survives a move or a short absence 2026-10-04 01:08:11 +03:00
templates fix(instances): only superusers and staff owners change a template VM 2026-10-07 21:04:23 +03:00
templatetags fix(instances): every VM state has a label and the actions it allows 2026-10-05 19:34:30 +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 fix(instances): only administrators choose where a console listens 2026-10-05 15:07:31 +03:00
livetest.py fix(instances): domain edits start from the persistent definition 2026-10-04 01:08:11 +03:00
models.py fix(instances): a migration runs in the mode the VM's state allows, and is logged as it ran 2026-10-06 15:26:49 +03:00
states.py fix(instances): every VM state has a label and the actions it allows 2026-10-05 19:34:30 +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_change_xml.py fix(instances): the XML editor saves only while the VM is shut off 2026-10-04 19:13:20 +03:00
test_clone_permission.py fix(instances): a clone stays on the host of the VM it was made from 2026-10-06 15:58:35 +03:00
test_console_listener.py fix(instances): only administrators choose where a console listens 2026-10-05 15:07:31 +03:00
test_console_rule.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_console_settings_access.py fix(instances): the page of a VM on an unreachable host points to the list 2026-10-05 12:32:42 +03:00
test_create_instance.py fix(instances): CD-ROM bus, USB controller and MACs of a new VM 2026-10-04 18:33:28 +03:00
test_create_rollback.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_create_wizard_url.py fix(instances): the create wizard reaches the page of any architecture 2026-10-06 10:12:08 +03:00
test_destroy.py fix(instances): destroy and volume delete no longer lose disks 2026-10-04 01:08:11 +03:00
test_detail_reads.py perf(instances): the VM page reads each kind of domain XML once 2026-10-05 21:24:07 +03:00
test_detail_unreachable.py fix(instances): the page of a VM on an unreachable host points to the list 2026-10-05 12:32:42 +03:00
test_disk_isolation.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_drbd_target.py fix(computes): a compute's hostname and login cannot inject a connection URI or ssh option 2026-10-06 22:10:19 +03:00
test_error_handling.py fix(instances): a finished migration is recorded, and a stale request does not migrate 2026-10-06 15:52:32 +03:00
test_gstfsd.py fix(gstfsd): find the guest OS by inspection, answer once, and stop a change at its deadline 2026-10-08 08:50:21 +03:00
test_index.py fix(instances): guard mutations and refresh lists after sync 2026-09-28 14:56:19 +03:00
test_index_host_alerts.py fix(instances): host errors on the instance list are for administrators 2026-10-05 11:49:46 +03:00
test_list_rpc.py perf(instances): instance lists read a VM's info once per row 2026-10-05 10:17:47 +03:00
test_list_unreachable.py fix(instances): lists show a VM that cannot be read as unknown 2026-10-05 11:03:32 +03:00
test_live_clone.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_live_create.py fix(instances): CD-ROM bus, USB controller and MACs of a new VM 2026-10-04 18:33:28 +03:00
test_live_dataloss.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_live_guest.py test(instances): the guest sees the hardware WebVirtCloud configures 2026-10-04 16:39:02 +03:00
test_live_iso.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_live_xml.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
test_live_xml_effects.py fix(instances): disk and agent channel changes on paused VMs 2026-10-04 17:10:49 +03:00
test_migrate_form.py feat(instances): auto converge is on by default for a live migration 2026-10-06 17:04:03 +03:00
test_migration_bookkeeping.py fix(instances): a migration that does not finish in time is cancelled, not cut off 2026-10-06 16:56:22 +03:00
test_migration_log.py fix(instances): a finished migration is recorded, and a stale request does not migrate 2026-10-06 15:52:32 +03:00
test_missing_fields.py fix(instances): missing or malformed mutation form fields are reported, not a 500 2026-10-07 10:38:41 +03:00
test_page_controls.py fix(instances): only superusers and staff owners change a template VM 2026-10-07 21:04:23 +03:00
test_quota.py fix(instances): a finished migration is recorded, and a stale request does not migrate 2026-10-06 15:52:32 +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(gstfsd): find the guest OS by inspection, answer once, and stop a change at its deadline 2026-10-08 08:50:21 +03:00
test_security_mutations.py fix(instances): a finished migration is recorded, and a stale request does not migrate 2026-10-06 15:52:32 +03:00
test_states.py fix(instances): every VM state has a label and the actions it allows 2026-10-05 19:34:30 +03:00
test_template_flag.py fix(instances): only superusers and staff owners change a template VM 2026-10-07 21:04:23 +03:00
test_template_quota.py fix(instances): turning a template back into a VM is checked against the quota 2026-10-05 22:19:34 +03:00
test_update_console.py feat(console): VNC is the only console type 2026-10-04 01:08:11 +03:00
test_xss.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
tests.py feat(accounts): failed logins lock a user for the address they come from 2026-10-06 11:05:03 +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): only superusers and staff owners change a template VM 2026-10-07 21:04:23 +03:00
views.py fix(gstfsd): find the guest OS by inspection, answer once, and stop a change at its deadline 2026-10-08 08:50:21 +03:00