fix(reboot): surface windows99 console artifact 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 2m13s
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-07-03 09:25:20 +08:00
parent 43620a977f
commit e28ebd5b3e
10 changed files with 374 additions and 9 deletions

View File

@@ -544,6 +544,65 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
)
def test_reboot_auto_recovery_slo_scorecard_surfaces_windows99_console_artifact_blocker(
tmp_path,
):
runtime_scorecard = json.loads(_SOURCE_SCORECARD.read_text(encoding="utf-8"))
runtime_scorecard["windows99_management_channel"] = {
**runtime_scorecard.get("windows99_management_channel", {}),
"readback_present": True,
"host_reachable": True,
"remote_execution_channel_ready": False,
"console_artifact_status": "blocked_clipboard_unreliable",
"console_artifact_reliable": False,
"console_artifact_blockers": [
"windows99_console_clipboard_unreliable",
],
"console_artifact_safe_next_step": (
"use_authorized_no_secret_management_channel_or_manual_console_"
"stdout_capture"
),
}
runtime_path = tmp_path / "scorecard.json"
runtime_path.write_text(json.dumps(runtime_scorecard), encoding="utf-8")
payload = load_latest_reboot_auto_recovery_slo_scorecard(
runtime_scorecard_path=runtime_path
)
assert "windows99_console_clipboard_unreliable" in payload["active_blockers"]
collection = payload["windows99_verify_collection"]
assert collection["console_artifact_status"] == "blocked_clipboard_unreliable"
assert collection["console_artifact_reliable"] is False
assert collection["console_artifact_blockers"] == [
"windows99_console_clipboard_unreliable"
]
assert "windows99_console_clipboard_unreliable" in collection[
"collection_blockers"
]
assert payload["rollups"]["windows99_console_artifact_status"] == (
"blocked_clipboard_unreliable"
)
assert payload["rollups"]["windows99_console_artifact_reliable"] is False
assert payload["readback"]["windows99_console_artifact_blockers"] == [
"windows99_console_clipboard_unreliable"
]
action_by_blocker = {
item["blocker"]: item
for item in payload["active_blocker_action_matrix"]["items"]
}
console_action = action_by_blocker["windows99_console_clipboard_unreliable"]
assert console_action["category"] == "windows99_vmware_autostart"
assert (
console_action["owner_lane"]
== "windows99_console_or_no_secret_management_channel"
)
assert console_action["next_safe_action"] == (
"stop_unreliable_rdp_clipboard_path_and_use_authorized_no_secret_"
"management_channel_or_validated_console_stdout_artifact"
)
def test_reboot_auto_recovery_slo_scorecard_keeps_service_backup_ready_after_live_stockplatform_ok():
payload = load_latest_reboot_auto_recovery_slo_scorecard(
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK