1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances/tests
catborise 75fcc6f6c0 feat(instances): a running VM gets its root password and SSH key through its guest agent
The Access tab's Root Password and SSH Keys worked only on a shut-off
VM, through gstfsd on the compute. A running VM whose QEMU guest agent
is connected now gets them through the agent: guest-set-user-password
with the SHA-512 crypt hash, and guest-ssh-add-authorized-keys adding
the key to root's keys. A shut-off VM still goes through gstfsd; any
other VM is refused with "Shut the VM down, or start its QEMU guest
agent, and try again", and the buttons are disabled.

Each is one agent command with a 10 s timeout. libvirt's own calls for
them (setUserPassword, authorizedSSHKeysSet) wait for a hung agent
indefinitely, holding a worker and the VM's lock, and the domain's
agent timeout would change every other agent call of the VM too.

The agent's or libvirt's error is shown as is through error_text, so
users who do not see the hosts get no connection details, and the
attempt is logged as failed. The README names the SELinux boolean a
RHEL-family guest needs before its agent may add SSH keys.
2026-10-25 15:37:37 +03:00
..
js feat(instances): the VM list filters by state, and a host's name finds its VMs 2026-10-24 18:51:47 +03:00
__init__.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
create_page.py fix(instances): a refused VM create form comes back with what was entered 2026-10-20 08:12:25 +03:00
livetest.py docs: a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_addresses.py fix(instances): a paused VM's guest agent counts as not read 2026-10-24 22:54:44 +03:00
test_audit_rows.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
test_change_network.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_change_xml.py fix(instances): the XML dialog keeps the edit and defines only this VM 2026-10-24 20:03:20 +03:00
test_clone_disks.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_clone_job.py feat(instances): a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_clone_permission.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_console_listener.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_console_rule.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_console_settings_access.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_create_dialog_cpu.py feat(instances): the new-VM dialog shows what each host has given its VMs 2026-10-25 13:13:40 +03:00
test_create_form_input.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
test_create_instance.py fix(instances): a custom VM gets the MAC addresses its create form shows 2026-10-19 22:24:57 +03:00
test_create_job.py fix(instances): a new VM's vCPUs, memory and disk size are at least 1 2026-10-24 09:31:12 +03:00
test_create_page_js.py fix(instances): a dependent list on the create pages shows only the latest choice 2026-10-24 12:22:46 +03:00
test_create_rollback.py feat(instances): VM create runs as a job, also in the API 2026-10-15 09:28:43 +03:00
test_create_wizard_url.py fix(instances): a dependent list on the create pages shows only the latest choice 2026-10-24 12:22:46 +03:00
test_destroy.py refactor(computes): the lock helpers take claims instead of file locks 2026-10-14 23:27:57 +03:00
test_detail_reads.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_detail_unreachable.py feat(operations): jobs page 2026-10-14 23:27:57 +03:00
test_disk_isolation.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_drbd_target.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_error_handling.py feat(instances): the XML editor shows a change before saving it 2026-10-24 19:40:46 +03:00
test_find_address.py feat(instances): the address search finds a VM by its MAC address too 2026-10-24 22:45:47 +03:00
test_gstfsd.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_index.py feat(tables): tables sort with tablesort, the grouped VM list within each host 2026-10-24 19:02:51 +03:00
test_index_host_alerts.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_instance_filter_js.py feat(instances): the VM list filters by state, and a host's name finds its VMs 2026-10-24 18:51:47 +03:00
test_list_rpc.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_list_unreachable.py feat(instances): the VM list filters by state, and a host's name finds its VMs 2026-10-24 18:51:47 +03:00
test_live_clone.py docs: a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_live_create.py feat(instances): VM create runs as a job, also in the API 2026-10-15 09:28:43 +03:00
test_live_dataloss.py test: the live suite passes on v3.1.0 again 2026-10-24 09:31:07 +03:00
test_live_disk_resize.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_guest.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_live_iscsi.py test: a LUN of an iSCSI pool attaches live as a block disk 2026-10-18 21:32:52 +03:00
test_live_iso.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_jobs.py feat(instances): a shut-off UEFI VM can be migrated 2026-10-16 21:05:23 +03:00
test_live_lvm.py fix(instances): a disk on an LVM pool is not resized, the page says so instead of failing 2026-10-18 21:10:06 +03:00
test_live_snapshots.py feat(instances): external snapshot delete runs as a job 2026-10-14 23:27:57 +03:00
test_live_xml.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_xml_effects.py feat(instances): choose VNC or the serial console on the VM page 2026-10-17 19:48:58 +03:00
test_migrate_form.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_migrate_job.py feat(instances): a running migration can be cancelled; its time limit goes 2026-10-16 07:57:02 +03:00
test_migration_bookkeeping.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
test_migration_log.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
test_missing_fields.py feat(logs): admin changes and logins are recorded on the Logs page 2026-10-23 10:30:48 +03:00
test_moved_while_waiting.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_new_disk_name.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_page_controls.py feat(instances): a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_pending_edits.py feat(instances): a running VM's XML can be edited for its next start 2026-10-24 20:03:20 +03:00
test_quota.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_quota_lock.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_root_pass.py feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00
test_security_mutations.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_snapshot_delete_job.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
test_snapshot_jobs.py feat(instances): snapshot revert runs as a job 2026-10-15 14:21:32 +03:00
test_snapshot_views.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_states.py feat(tables): tables sort with tablesort, the grouped VM list within each host 2026-10-24 19:02:51 +03:00
test_stats_sample.py build: Chart.js 4.5.1 2026-10-17 13:19:43 +03:00
test_template_flag.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_template_quota.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_template_rules.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_update_console.py feat(instances): choose VNC or the serial console on the VM page 2026-10-17 19:48:58 +03:00
test_views.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_vm_audit_rows.py feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00
test_vm_report.py feat(instances): a report of every VM with its addresses and OS, as an Excel file 2026-10-24 22:30:07 +03:00
test_xss.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00