fix(recovery): require guarded 110 drain startup in slo
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 36s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-30 23:35:45 +08:00
parent acf1d0e127
commit e9db7741db
4 changed files with 17 additions and 1 deletions

View File

@@ -139,6 +139,16 @@ def source_controls() -> dict[str, bool]:
"WantedBy=multi-user.target",
)
and source_file("scripts/reboot-recovery/awoooi-startup-110.sh").exists(),
"host_110_startup_controlled_drain_guarded_autostart_source_present": (
file_contains(
source_file("scripts/reboot-recovery/awoooi-startup-110.sh"),
'START_CONTROLLED_CD_LANE="${AWOOOI_START_CONTROLLED_CD_LANE:-1}"',
"cd_lane_root_restore_sources_left()",
"install_controlled_cd_lane_drain_unit",
'systemctl enable --now "$CD_LANE_DRAIN_SERVICE"',
"controlled cd-lane remains closed because guardrails failed or AWOOOI_START_CONTROLLED_CD_LANE=0",
)
),
"host_188_startup_unit_source_present": file_contains(
source_file("scripts/reboot-recovery/awoooi-startup.service"),
"ExecStart=/usr/local/bin/awoooi-startup.sh",

View File

@@ -134,6 +134,9 @@ def test_green_summary_and_recent_all_host_probe_can_claim_slo(tmp_path: Path) -
assert payload["schema_version"] == "awoooi_reboot_auto_recovery_slo_scorecard_v1"
assert payload["status"] == "slo_ready"
assert payload["can_claim_all_services_recovered_within_target"] is True
assert payload["source_controls"][
"host_110_startup_controlled_drain_guarded_autostart_source_present"
] is True
assert payload["host_boot_detection"]["max_observed_uptime_seconds"] == 150
assert payload["active_blockers"] == []