fix(reboot): preserve service backup metric blockers
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m6s
CD Pipeline / build-and-deploy (push) Successful in 5m6s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 0s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Successful in 23s
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-03 03:14:54 +08:00
parent 2fb982e405
commit 4fe0b903ff
2 changed files with 102 additions and 9 deletions

View File

@@ -331,6 +331,16 @@ 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
)
expected_runtime_readback_added_blockers = [
"service_green_not_1",
"post_start_blocked_not_zero",
"backup_core_green_not_1",
"wazuh_dashboard_degraded",
]
expected_active_blockers = [
*PROMETHEUS_RUNTIME_SOURCE_RECONCILED_BLOCKERS,
*expected_runtime_readback_added_blockers,
]
assert payload["runtime_scorecard_readback_present"] is False
assert payload["runtime_metric_readback_present"] is True
@@ -341,17 +351,21 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
== [PROMETHEUS_SOURCE_RECONCILED_BLOCKER]
)
assert payload["runtime_metric_source_control_reconciled_blocker_count"] == 1
assert payload["active_blockers"] == PROMETHEUS_RUNTIME_SOURCE_RECONCILED_BLOCKERS
assert payload["active_blocker_count"] == 7
assert payload["active_blockers"] == expected_active_blockers
assert payload["active_blocker_count"] == 11
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 "backup_core_green_not_1" in payload["active_blockers"]
assert "service_green_not_1" in payload["active_blockers"]
assert PROMETHEUS_SOURCE_RECONCILED_BLOCKER not in payload["active_blockers"]
assert payload["active_blocker_action_matrix"]["item_count"] == 7
assert payload["runtime_metric_runtime_readback_added_blockers"] == (
expected_runtime_readback_added_blockers
)
assert payload["runtime_metric_runtime_readback_added_blocker_count"] == 4
assert payload["active_blocker_action_matrix"]["item_count"] == 11
assert payload["windows99_vmware_autostart"]["readback_present"] is True
assert payload["windows99_vmware_autostart"]["missing_vmx_aliases"] == ["111"]
assert payload["windows99_vmware_autostart"]["powered_off_aliases"] == [
@@ -401,16 +415,34 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
"host_cpu_pressure",
0,
) == 0
assert payload["readback"]["active_blocker_count"] == 7
assert payload["active_blocker_action_matrix"]["category_counts"][
"post_reboot_service_readiness"
] == 2
assert payload["active_blocker_action_matrix"]["category_counts"][
"backup_observability"
] == 1
assert payload["active_blocker_action_matrix"]["category_counts"][
"security_observability"
] == 1
assert payload["readback"]["active_blocker_count"] == 11
assert payload["readback"]["runtime_metric_readback_present"] is True
assert payload["readback"][
"runtime_metric_source_control_reconciled_blocker_count"
] == 1
assert payload["rollups"]["active_blocker_count"] == 7
assert payload["readback"][
"runtime_metric_runtime_readback_added_blockers"
] == expected_runtime_readback_added_blockers
assert payload["readback"][
"runtime_metric_runtime_readback_added_blocker_count"
] == 4
assert payload["rollups"]["active_blocker_count"] == 11
assert payload["rollups"]["runtime_metric_readback_present"] is True
assert payload["rollups"][
"runtime_metric_source_control_reconciled_blocker_count"
] == 1
assert payload["rollups"][
"runtime_metric_runtime_readback_added_blocker_count"
] == 4
assert payload["rollups"]["primary_blocker_owner_lane"] == (
"reboot_event_detector_and_host_probe"
)
@@ -433,8 +465,14 @@ def test_reboot_auto_recovery_slo_scorecard_keeps_prometheus_source_missing_when
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK,
)
assert payload["active_blockers"] == PROMETHEUS_RUNTIME_BLOCKERS
assert payload["active_blocker_count"] == 8
assert payload["active_blockers"] == [
*PROMETHEUS_RUNTIME_BLOCKERS,
"service_green_not_1",
"post_start_blocked_not_zero",
"backup_core_green_not_1",
"wazuh_dashboard_degraded",
]
assert payload["active_blocker_count"] == 12
assert payload["runtime_metric_source_control_reconciled_blocker_count"] == 0
action_by_blocker = {
item["blocker"]: item