1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/storages
catborise 2dee5ba41c fix(computes): a deleted compute's VMs keep their owners
Deleting a compute removed its VMs from the panel together with their
owners, while the VMs kept running on the host: added again, the host's
VMs came back with no owners. A compute's delete now treats each VM as
one that left its compute: its owners follow the same UUID on another
compute or wait in a tombstone for the retention period. One function,
forget(), does this for the refresh and for the delete; the API's
compute delete goes through the same model delete.

The delete holds the compute exclusive and locks its row before its
VMs', as the reconcile does: a reconcile, VM operation or job on the
compute makes it busy instead of losing owners to a concurrent restore
or deadlocking with it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 13:24:22 +03:00
..
api fix(storages): keep volumes a VM still needs 2026-10-13 09:13:02 +03:00
migrations add missing migrations for new models 2022-08-24 09:34:16 +03:00
templates fix(templates): each confirmation says what its action does 2026-10-21 21:25:45 +03:00
tests fix(computes): a deleted compute's VMs keep their owners 2026-10-22 13:24:22 +03:00
__init__.py build new tree 2015-02-27 11:28:22 +02:00
forms.py fix(storages): pool sources take real device and export paths, a leading special character is refused 2026-10-19 12:10:33 +03:00
jobs.py feat(storages): an ISO upload is a job 2026-10-16 11:53:59 +03:00
models.py reorg imports and black format 2022-11-02 16:05:41 +03:00
upload.py feat(storages): an ISO upload is a job 2026-10-16 11:53:59 +03:00
views.py fix: a network, pool or secret a VM needs is not stopped or deleted 2026-10-22 08:34:55 +03:00