1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/computes/tests
catborise addc7ccfcb fix(computes): a VM moved between computes keeps its owners on PostgreSQL
Two computes decide the owners of the same UUID: the one the VM left
buries them in a tombstone (or a compute delete does), the one it went
to restores them. On PostgreSQL the two ran at once: the restore still
saw the old row of the uncommitted bury, skipped, and the VM ended up
without owners while the tombstone stayed. SQLite was never affected:
its IMMEDIATE transactions take the write lock at the start.

The reconcile and the compute delete now take one transaction-level
advisory lock (pg_advisory_xact_lock) when their database step starts,
so ownership decisions run one after another on PostgreSQL as they do
on SQLite. Reading libvirt stays outside the lock.
2026-10-23 15:31:04 +03:00
..
__init__.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_api_security.py refactor(computes): the lock helpers take claims instead of file locks 2026-10-14 23:27:57 +03:00
test_audit_rows.py feat(logs): admin changes and logins are recorded on the Logs page 2026-10-23 10:30:48 +03:00
test_compute_password.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_cpu_graph.py build: Chart.js 4.5.1 2026-10-17 13:19:43 +03:00
test_migration_address.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_operation_locks.py refactor(computes): the lock helpers take claims instead of file locks 2026-10-14 23:27:57 +03:00
test_overview_status.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_ownership.py feat(logs): admin changes and logins are recorded on the Logs page 2026-10-23 10:30:48 +03:00
test_ownership_race.py fix(computes): a VM moved between computes keeps its owners on PostgreSQL 2026-10-23 15:31:04 +03:00
test_quota_down_host.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_reconciliation.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_validators.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_views.py refactor(computes): drop the unused domain capabilities endpoint 2026-10-21 09:01:25 +03:00