fix(reboot): overlay slo prometheus runtime blockers
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m0s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m0s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -79,6 +79,28 @@ _SOURCE_SCORECARD = (
|
||||
/ "awoooi-reboot-auto-recovery-slo-scorecard.snapshot.json"
|
||||
)
|
||||
|
||||
PROMETHEUS_RUNTIME_BLOCKERS = [
|
||||
"all_required_hosts_not_in_10_minute_reboot_window",
|
||||
"conversation_event_hot_path_index_migration_source_missing",
|
||||
"host_boot_observation_older_than_target_window",
|
||||
"host_unreachable_after_reboot",
|
||||
"host_uptime_unknown",
|
||||
"reboot_event_required_host_unreachable",
|
||||
"windows99_vmware_autostart_readback_missing",
|
||||
]
|
||||
|
||||
PROMETHEUS_RUNTIME_READBACK = {
|
||||
"schema_version": "reboot_slo_prometheus_metric_readback_v1",
|
||||
"readback_present": True,
|
||||
"source": "prometheus_query_api",
|
||||
"query_url": "http://192.168.0.110:9090/api/v1/query",
|
||||
"active_blockers": PROMETHEUS_RUNTIME_BLOCKERS,
|
||||
"active_blocker_count": 7,
|
||||
"primary_blocker": "reboot_event_required_host_unreachable",
|
||||
"ready": False,
|
||||
"last_run_timestamp": 1783010479,
|
||||
}
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_loader_exposes_stockplatform_gate():
|
||||
payload = load_latest_reboot_auto_recovery_slo_scorecard()
|
||||
@@ -226,6 +248,34 @@ def test_reboot_auto_recovery_slo_scorecard_uses_latest_runtime_scorecard_from_d
|
||||
)
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics():
|
||||
payload = load_latest_reboot_auto_recovery_slo_scorecard(
|
||||
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK
|
||||
)
|
||||
|
||||
assert payload["runtime_scorecard_readback_present"] is False
|
||||
assert payload["runtime_metric_readback_present"] is True
|
||||
assert payload["runtime_metric_active_blocker_count"] == 7
|
||||
assert payload["runtime_metric_last_run_timestamp"] == 1783010479
|
||||
assert payload["active_blockers"] == PROMETHEUS_RUNTIME_BLOCKERS
|
||||
assert payload["active_blocker_count"] == 7
|
||||
assert payload["readiness_percent"] == 47
|
||||
assert payload["primary_blocker"] == "reboot_event_required_host_unreachable"
|
||||
assert payload["next_safe_action"] == (
|
||||
"rerun_reboot_event_detector_and_host_probe_verify_only_no_reboot"
|
||||
)
|
||||
assert "backup_core_green_not_1" not in payload["active_blockers"]
|
||||
assert "service_green_not_1" not in payload["active_blockers"]
|
||||
assert payload["active_blocker_action_matrix"]["item_count"] == 7
|
||||
assert payload["readback"]["active_blocker_count"] == 7
|
||||
assert payload["readback"]["runtime_metric_readback_present"] is True
|
||||
assert payload["rollups"]["active_blocker_count"] == 7
|
||||
assert payload["rollups"]["runtime_metric_readback_present"] is True
|
||||
assert payload["rollups"]["primary_blocker_owner_lane"] == (
|
||||
"reboot_event_detector_and_host_probe"
|
||||
)
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_endpoint_returns_readback(monkeypatch):
|
||||
monkeypatch.setattr(
|
||||
agents,
|
||||
|
||||
Reference in New Issue
Block a user