1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/computes
catborise cd2dd517b7 fix(instances): two owners added at once keep a VM to one owner
With one owner per VM, the VM page and a user's page counted the VM's
owners and then added one in separate steps, so two owners added at the
same moment both found the VM without one, and it got two. The check
and the insert now run in one transaction that holds the ownership lock
(PostgreSQL's advisory lock; SQLite's IMMEDIATE transactions already
serialize them): the second waits for the first and is refused. The
audit row is written after the transaction, so a failure keeps its row.
2026-10-31 00:21:06 +03:00
..
api fix(api): host API checks what the web forms check 2026-10-26 17:47:18 +03:00
migrations fix(computes): host pages survive a down host and a vTPM secret 2026-10-26 15:36:57 +03:00
templates style(computes): the host's sections on one line in every theme 2026-10-29 15:50:31 +03:00
tests feat(instances): migrate a VM with its disks copied into pools of the destination 2026-10-29 19:46:31 +03:00
__init__.py Initial commit 2015-02-27 10:53:51 +02:00
apps.py fix: track migrations; installs apply them instead of generating them 2026-10-04 01:08:11 +03:00
forms.py feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
models.py fix(storages): pools are measured when shown, and only on a host's own pages 2026-10-27 21:30:14 +03:00
urls.py feat(nodedevs): the host's PCI and USB devices on a Devices page 2026-10-29 13:01:17 +03:00
utils.py fix(instances): two owners added at once keep a VM to one owner 2026-10-31 00:21:06 +03:00
validators.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
views.py feat(storages): the storage pages on Bootstrap's tables, cards, badges and menus 2026-10-28 19:27:21 +03:00