fix(reboot): detect public maintenance edge drift
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 3m22s
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 14:50:11 +08:00
parent 7eb2d9beda
commit ff9e086e2e
10 changed files with 421 additions and 12 deletions

View File

@@ -80,6 +80,34 @@ PUBLIC_MAINTENANCE_RUNTIME_READY = {
],
}
PUBLIC_MAINTENANCE_RUNTIME_EDGE_DRIFT = {
**PUBLIC_MAINTENANCE_RUNTIME_READY,
"ready": False,
"edge_fallback_runtime_readback_present": True,
"edge_fallback_ready": False,
"edge_fallback_blockers": ["edge_public_maintenance_live_config_drift"],
"edge_fallback": {
"runtime_readback_present": True,
"ready": False,
"mode": "check",
"host": "ollama",
"user": "ollama",
"remote_conf": "/etc/nginx/sites-enabled/awoooi.wooo.work.conf",
"remote_conf_readable": True,
"live_conf_has_intercept": False,
"live_conf_has_error_page_503": False,
"live_conf_has_fallback_header": False,
"live_conf_has_internal_location": False,
"live_conf_has_api_vip": True,
"live_conf_has_web_vip": True,
"maintenance_file_present": False,
"maintenance_file_has_marker": False,
"sudo_n_ready": False,
"blockers": ["edge_public_maintenance_live_config_drift"],
},
"blockers": ["edge_public_maintenance_live_config_drift"],
}
_REPO_ROOT = Path(__file__).resolve().parents[3]
_SOURCE_SCORECARD = (
_REPO_ROOT
@@ -201,6 +229,44 @@ def test_reboot_auto_recovery_slo_scorecard_does_not_reopen_ready_public_mainten
] == 1
def test_reboot_auto_recovery_slo_scorecard_overlays_edge_fallback_live_drift(
tmp_path,
):
runtime_path = tmp_path / "public-maintenance-fallback.json"
runtime_path.write_text(
json.dumps(PUBLIC_MAINTENANCE_RUNTIME_EDGE_DRIFT),
encoding="utf-8",
)
payload = load_latest_reboot_auto_recovery_slo_scorecard(
public_maintenance_runtime_path=runtime_path
)
assert "edge_public_maintenance_live_config_drift" in payload["active_blockers"]
assert payload["public_maintenance_fallback"]["ready"] is False
assert (
payload["public_maintenance_fallback"][
"edge_fallback_runtime_readback_present"
]
is True
)
assert payload["public_maintenance_fallback"]["edge_fallback_ready"] is False
assert (
payload["public_maintenance_fallback"]["edge_fallback"]["sudo_n_ready"]
is False
)
assert payload["readback"]["public_maintenance_edge_fallback_ready"] is False
assert (
payload["readback"][
"public_maintenance_edge_fallback_runtime_readback_present"
]
is True
)
assert payload["required_checks"][
"public_maintenance_fallback_runtime_ready"
] is False
def test_reboot_auto_recovery_slo_scorecard_reconciles_green_runtime_readback_metric_blockers():
metric_readback = dict(PROMETHEUS_RUNTIME_READBACK)
metric_readback["active_blockers"] = [