fix(reboot): preserve edge maintenance blocker in api overlay
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / build-and-deploy (push) Successful in 4m34s
CD Pipeline / post-deploy-checks (push) Successful in 1m45s
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / build-and-deploy (push) Successful in 4m34s
CD Pipeline / post-deploy-checks (push) Successful in 1m45s
This commit is contained in:
@@ -229,6 +229,43 @@ def test_reboot_auto_recovery_slo_scorecard_does_not_reopen_ready_public_mainten
|
||||
] == 1
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_preserves_edge_metric_blocker_until_edge_readback_ready(
|
||||
tmp_path,
|
||||
):
|
||||
runtime_path = tmp_path / "public-maintenance-fallback.json"
|
||||
runtime_path.write_text(
|
||||
json.dumps(PUBLIC_MAINTENANCE_RUNTIME_READY),
|
||||
encoding="utf-8",
|
||||
)
|
||||
metric_readback = dict(PROMETHEUS_RUNTIME_READBACK)
|
||||
metric_readback["active_blockers"] = [
|
||||
*PROMETHEUS_RUNTIME_BLOCKERS,
|
||||
"public_route_raw_5xx_without_maintenance_fallback",
|
||||
"edge_public_maintenance_live_config_drift",
|
||||
]
|
||||
metric_readback["active_blocker_count"] = len(metric_readback["active_blockers"])
|
||||
|
||||
payload = load_latest_reboot_auto_recovery_slo_scorecard(
|
||||
public_maintenance_runtime_path=runtime_path,
|
||||
prometheus_metric_readback=metric_readback,
|
||||
)
|
||||
|
||||
assert "public_route_raw_5xx_without_maintenance_fallback" not in payload[
|
||||
"active_blockers"
|
||||
]
|
||||
assert "edge_public_maintenance_live_config_drift" in payload["active_blockers"]
|
||||
assert (
|
||||
payload["public_maintenance_fallback"][
|
||||
"edge_fallback_runtime_readback_present"
|
||||
]
|
||||
is False
|
||||
)
|
||||
assert payload["readback"][
|
||||
"runtime_metric_runtime_readback_reconciled_blockers"
|
||||
] == ["public_route_raw_5xx_without_maintenance_fallback"]
|
||||
assert payload["active_blocker_count"] == 9
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_overlays_edge_fallback_live_drift(
|
||||
tmp_path,
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user