aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/httpserver.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-04-01 22:49:40 +0200
committerStefan Boberg <[email protected]>2026-04-01 22:49:40 +0200
commit534349504e74f095dad042b4fcde9779f6f872b0 (patch)
tree6381a4404914072bc052bb2a957969b0c59366c2 /src/zenhttp/httpserver.cpp
parentFix lock ordering deadlock in GetQueueCompleted (diff)
downloadzen-534349504e74f095dad042b4fcde9779f6f872b0.tar.xz
zen-534349504e74f095dad042b4fcde9779f6f872b0.zip
Add provisioner target control and graceful agent deprovisioning
- Add IProvisionerStateProvider interface for decoupling orchestrator HTTP layer from provisioner implementations - HordeProvisioner implements the interface directly, exposing target, active, estimated core counts and per-agent provisioning status - Add orchestrator dashboard provisioner panel with editable target core count, active/estimated/agents/draining metric tiles - Add per-agent status badges in agents table (active/draining/deallocated) with dimming for non-provisioned or deallocated workers - Add GET/POST /orch/provisioner/status and /orch/provisioner/target endpoints; include provisioner stats in WebSocket push - Add session lifecycle HTTP endpoints on compute nodes: GET /compute/session/status, POST /compute/session/drain, POST /compute/session/sunset (with shutdown callback) - Implement graceful deprovisioning in HordeProvisioner: - Best-fit agent selection: largest agent that fits the remaining excess, breaking ties by workload (least busy first) - Never deprovision below target core count - Drain via HTTP: signal drain, poll status, send sunset on completion - Configurable grace period (--horde-drain-grace-period, default 300s) - Anti-oscillation: scale-up requires full agent-sized gap below target; estimated cores adjusted at drain-mark time, not agent-exit time - Fix JSON-to-CbObject number parsing: integral JSON numbers are now stored as integers instead of Float64 so AsInt32/AsInt64 work - Add effective URL to curl HTTP client error logging - Add WorkerAnnotator callback to OrchestratorService::GetWorkerList for per-worker provisioner status injection - Remove standalone compute/orchestrator.html and compute/compute.html; redirect /dashboard/compute/ to SPA
Diffstat (limited to 'src/zenhttp/httpserver.cpp')
0 files changed, 0 insertions, 0 deletions