mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-08 19:26:48 +00:00
A request removes its transient claims in a finally. A gunicorn worker that exits past its timeout ends its other threads' requests too, and an OOM kill or a container restart ends all of them, so their claims stayed until they expired 11 minutes later. A VM delete killed this way held its compute exclusively: every VM action, job and list refresh on that compute was refused as busy, and nothing in the panel could clear it. The holder now names the installation by its node id (as the worker does), which stays the same when the container is recreated, instead of the hostname. A conflicting claim whose holder is a process of this installation that no longer runs is removed during admission. A claim of another installation, or of a PID that is in use again, still waits for its expiry. |
||
|---|---|---|
| .. | ||
| js | ||
| __init__.py | ||
| fakes.py | ||
| proc_kinds.py | ||
| test_api.py | ||
| test_claims.py | ||
| test_conf.py | ||
| test_hold.py | ||
| test_kinds.py | ||
| test_models.py | ||
| test_panel_js.py | ||
| test_processes.py | ||
| test_public_error.py | ||
| test_recovery.py | ||
| test_redact.py | ||
| test_service.py | ||
| test_views.py | ||
| test_worker.py | ||