1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/operations/tests
catborise 2991afc9b9 fix(claims): a request's claim no longer blocks once its process has ended
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.
2026-11-06 09:05:06 +03:00
..
js feat(operations): the job panel and job pages speak the page's language 2026-11-02 23:33:34 +03:00
__init__.py feat(operations): job, claim and worker lease models 2026-10-14 23:27:57 +03:00
fakes.py fix(operations): a host that does not answer keeps the job worker going for the others 2026-11-03 07:23:42 +03:00
proc_kinds.py test(operations): workers and admissions across processes 2026-10-14 23:27:57 +03:00
test_api.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
test_claims.py fix(claims): a request's claim no longer blocks once its process has ended 2026-11-06 09:05:06 +03:00
test_conf.py feat(operations): worker concurrency and job retention settings 2026-10-14 23:27:57 +03:00
test_hold.py refactor(computes): the lock helpers take claims instead of file locks 2026-10-14 23:27:57 +03:00
test_kinds.py feat(operations): jobs a request runs 2026-10-16 11:53:59 +03:00
test_models.py feat(operations): job, claim and worker lease models 2026-10-14 23:27:57 +03:00
test_panel_js.py feat(operations): job panel on the VM page 2026-10-14 23:27:57 +03:00
test_processes.py test(operations): a worker a process test cannot stop shows where it is stuck 2026-10-21 12:10:59 +03:00
test_public_error.py fix(operations): a job refused by its checks in the worker says why 2026-11-05 16:28:29 +03:00
test_recovery.py fix(jobs): a cancel reaches libvirt for a job that recovery watches 2026-11-06 09:02:12 +03:00
test_redact.py feat(operations): admit claims atomically; redact secrets 2026-10-14 23:27:57 +03:00
test_service.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
test_views.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
test_worker.py fix(worker): a database error skips a tick instead of ending the worker 2026-11-06 09:02:54 +03:00