1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/instances/tests
catborise c1d36053d6 feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID
Operations on a VM now write their rows the way the admin audit does: one
row per operation, done or failed with a safe reason, with the user, IP and
host. Each row names the VM ("VM web-1: delete snapshot snap1") and carries
its UUID in the new Logs.instance_uuid column.

- audit_vm and failed_vm wrap audit() and failed() for a VM. A failure the
  view turns into a message is caught outside the block, so its failed row
  is written; busy claims, permission and quota refusals and invalid input
  write nothing. No password, key or XML goes into a row.
- All VM page operations move from addlogmsg to audit_vm, and addlogmsg
  goes. QoS changes and defining a VM from XML are logged now; a gstfsd
  error reply (root password, SSH key) is a failed row, not a done one.
- Partial results are rows of their own: the VM delete, then each disk
  delete; the disk detach, then the volume delete; the migration, then a
  failed autostart restore, NVRAM removal or record on the target.
- Migration rows use the compute name as the host column, as every other
  row does.
- VM job rows (create, clone, snapshots) and their resolutions carry the
  VM's UUID; snapshot job intents now record it. The owner rows of the VM
  page and the accounts pages, and the ownership system rows, carry it too.
- The Logs tab loads vm_logs/<pk>/ and shows the rows with the VM's UUID,
  so a rename keeps the history, two VMs with one name are told apart and
  a VM on two computes is one VM. It gains a Result column. Rows from
  before this change have no UUID and stay on the Logs page only.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 14:14:53 +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_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 test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +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 fix(instances): the new-VM host dialog says when no compute is reachable 2026-10-24 11:45:11 +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): migration runs as a job 2026-10-16 07:57:02 +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 fix(instances): the grouped instance list without computes has a table body 2026-10-19 15:57:09 +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_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 test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +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): external snapshots use libvirt's snapshot API 2026-10-12 15:25:44 +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 test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +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 fix(instances): the VM lists ask before a forced power off or power cycle 2026-10-21 21:01:25 +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(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_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