fix(orion): reclaim Antares overlays and reject builds under disk pressure#2150
Conversation
GET /v2/task/{cl} now returns Vec<OrionTaskDTO> (empty when none), so repeated
pushes no longer break Checks. Also document regenerating gitmono.json /
generated.ts via moon/script/gen-client, and bump tokio-stream to 0.1.19.
…ssure Prevent long-lived VMs from filling the guest root FS (which drops WebSocket heartbeats and marks workers Lost) by deleting upper/cl after umount, pruning orphans on runner start, and refusing TaskBuild when usage exceeds the reject threshold. Also raise default image_disk_gb to 50.
Proxy orion-scheduler's /logs/orion/stream through mono as admin-only SSE, and show live provision/startup output on the Orion Clients page after Start Runner.
Holding workers.get_mut across DB awaits on retry could stall the tokio runtime under heartbeat/health-check contention. Extract claim_worker_for_build and cover with a concurrency regression test.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 998ba6a021
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| if let Err(e) = sender.send(WSMessage::TaskAck { | ||
| build_id, | ||
| success: false, | ||
| message: format!( |
There was a problem hiding this comment.
Release the worker when rejecting for disk pressure
When disk pressure remains above the reject threshold, the runner now returns only TaskAck { success: false } and skips the build, but the scheduler's TaskAck handler in orion-server/src/service/ws_service.rs only logs that message and does not remove active_builds or move the worker out of Busy. In this disk-pressure path the worker keeps heartbeating while permanently busy, so even after space is freed the scheduler will not dispatch more work to it; send the normal completion message or teach the server to finalize failed acks.
Useful? React with 👍 / 👎.
No description provided.