fix: budget health checks for bounded interpreter startup
This commit is contained in:
@@ -108,6 +108,7 @@ jobs:
|
||||
tests/test_dependency_errors.py \
|
||||
tests/test_production_logging.py \
|
||||
tests/test_delivery.py \
|
||||
tests/test_operator_imports.py \
|
||||
tests/test_health.py \
|
||||
tests/test_identity.py \
|
||||
tests/test_coordinator_control.py \
|
||||
|
||||
@@ -410,10 +410,19 @@ Finish recovery with Backend Alembic verification, new TLS material, service
|
||||
readiness and actual four-language/history checks on the second VM. The 30-minute
|
||||
end-to-end target still requires measured acceptance.
|
||||
|
||||
## Health query deadlines
|
||||
|
||||
Fixed health helpers include interpreter startup in their wall-clock deadline.
|
||||
Outbox and import queries have 60 seconds each; factory status has 30 seconds and
|
||||
broker metadata has 45 seconds. Node readiness has 300 seconds for the sequential
|
||||
checks. Each helper keeps its fixed CPU, memory, process and privilege limits.
|
||||
These operator deadlines do not change student execution budgets. An expired or
|
||||
failed query keeps admission closed.
|
||||
|
||||
## Observe resources and queues
|
||||
|
||||
`python3.13 -m scripts.release.node_observation` uses a finite read-only Root cap0,
|
||||
no-new-privileges helper: 128 MiB, zero swap, 16 tasks, 25% CPU, 120 seconds and one
|
||||
no-new-privileges helper: 128 MiB, zero swap, 16 tasks, 25% CPU, 360 seconds and one
|
||||
named unit. It reads memory/PIDs current/peak, CPU throttling, memory events, device
|
||||
IO and filesystem bytes/inodes without enumerating private content. Existing owners
|
||||
supply service identities, ACLs, leases/cleanup, broker/outbox/import backlog and
|
||||
|
||||
@@ -11,13 +11,13 @@ from .policy import DeliveryError, invalid_constant, unique_object
|
||||
from .services import python_environment
|
||||
|
||||
PROFILES = {
|
||||
"node-health": ("root", 0, 128, 16, 50, 90),
|
||||
"node-health": ("root", 0, 128, 16, 50, 300),
|
||||
"broker-health": ("rabbitmq", 1204, 256, 64, 50, 45),
|
||||
"factory-health": ("kf-worker", 1202, 32, 4, 10, 10),
|
||||
"import-health": ("kf-oj", 1200, 128, 16, 25, 10),
|
||||
"outbox-health": ("kf-oj", 1200, 128, 16, 25, 10),
|
||||
"factory-health": ("kf-worker", 1202, 32, 4, 10, 30),
|
||||
"import-health": ("kf-oj", 1200, 128, 16, 25, 60),
|
||||
"outbox-health": ("kf-oj", 1200, 128, 16, 25, 60),
|
||||
"node-maintenance": ("root", 0, 256, 32, 50, 900),
|
||||
"node-observation": ("root", 0, 128, 16, 25, 120),
|
||||
"node-observation": ("root", 0, 128, 16, 25, 360),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user