feat: expose multi-host runtime readiness
This commit is contained in:
@@ -52,11 +52,13 @@ def test_module_operational_check_failure_is_isolated() -> None:
|
||||
raise RuntimeError("secret detail")
|
||||
|
||||
result = routes._module_operational_checks(
|
||||
_Registry(OperationalCheckProviderRegistration(
|
||||
module_id="example",
|
||||
check_id="example.failed",
|
||||
provider=provider,
|
||||
)),
|
||||
_Registry(
|
||||
OperationalCheckProviderRegistration(
|
||||
module_id="example",
|
||||
check_id="example.failed",
|
||||
provider=provider,
|
||||
)
|
||||
),
|
||||
force=True,
|
||||
)[0]
|
||||
|
||||
@@ -82,3 +84,43 @@ def test_shared_runtime_cluster_missing_replicas_blocks_readiness() -> None:
|
||||
assert check["state"] == "error"
|
||||
assert check["readiness_critical"] is True
|
||||
assert check["metrics"]["recovery_required"] == 1
|
||||
|
||||
|
||||
def test_shared_runtime_cluster_skew_or_unserved_queue_blocks_readiness() -> None:
|
||||
check = routes._runtime_cluster_check(
|
||||
{
|
||||
"available": True,
|
||||
"state_profile": "shared",
|
||||
"nodes": [],
|
||||
"expected": {"api": 2, "worker": 2},
|
||||
"active": {"api": 2, "worker": 2},
|
||||
"composition": {"skewed": True},
|
||||
"software_versions": {"skewed": False},
|
||||
"queues": {"missing": ["calendar"]},
|
||||
"recovery": {"requires_attention": 0},
|
||||
}
|
||||
)
|
||||
|
||||
assert check["state"] == "error"
|
||||
assert check["readiness_critical"] is True
|
||||
assert check["metrics"]["composition_skewed"] is True
|
||||
assert check["metrics"]["missing_queues"] == 1
|
||||
|
||||
|
||||
def test_database_capacity_check_enforces_shared_rendered_budget(
|
||||
monkeypatch,
|
||||
) -> None:
|
||||
monkeypatch.setattr(routes.core_settings, "state_profile", "shared")
|
||||
monkeypatch.setattr(routes.core_settings, "database_connection_limit", 100)
|
||||
monkeypatch.setattr(routes.core_settings, "database_connection_reserve", 10)
|
||||
monkeypatch.setattr(routes.core_settings, "database_connection_available", 90)
|
||||
monkeypatch.setattr(routes.core_settings, "database_connection_peak", 70)
|
||||
|
||||
healthy = routes._database_capacity_check()
|
||||
assert healthy["state"] == "ok"
|
||||
assert healthy["metrics"]["peak"] == 70
|
||||
|
||||
monkeypatch.setattr(routes.core_settings, "database_connection_peak", 91)
|
||||
overrun = routes._database_capacity_check()
|
||||
assert overrun["state"] == "error"
|
||||
assert overrun["readiness_critical"] is True
|
||||
|
||||
Reference in New Issue
Block a user