fix(recovery): surface 110 ssh high load receipt
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 / build-and-deploy (push) Failing after 2m40s
CD Pipeline / post-deploy-checks (push) Has been skipped

This commit is contained in:
Your Name
2026-07-01 07:41:30 +08:00
parent 77f9bb0417
commit 00d01ee709
3 changed files with 47 additions and 0 deletions

View File

@@ -151,6 +151,15 @@ def validate_harbor_registry_controlled_recovery_receipt(
"ssh_publickey_runner_systemctl_show_timeout_seen": (
ssh_diagnosis["runner_systemctl_show_timeout_seen"]
),
"ssh_publickey_node_high_load_seen": ssh_diagnosis[
"node_high_load_seen"
],
"ssh_publickey_node_load_classifier": ssh_diagnosis[
"node_load_classifier"
],
"ssh_publickey_node_load1_per_cpu": ssh_diagnosis[
"node_load1_per_cpu"
],
"ssh_publickey_node_exporter_ok": ssh_diagnosis["node_exporter_ok"],
"ssh_publickey_port_tcp_open": ssh_diagnosis["ssh_port_tcp_open"],
"ssh_local_repair_receipt_seen": ssh_local["receipt_seen"],
@@ -375,12 +384,14 @@ def _parse_ssh_publickey_diagnosis_output(output: str) -> dict[str, Any]:
)
ssh_port_tcp_open = str(fields.get("SSH_PORT") or "") == "tcp_open"
node_exporter_ok = str(fields.get("NODE_EXPORTER") or "") == "ok"
node_high_load_seen = str(fields.get("NODE_LOAD_CLASSIFIER") or "") == "high_load"
return {
"receipt_seen": marker_seen,
"target": str(fields.get("TARGET") or ""),
"node_exporter_ok": node_exporter_ok,
"node_load_classifier": str(fields.get("NODE_LOAD_CLASSIFIER") or ""),
"node_load1_per_cpu": _float_or_none(fields.get("NODE_LOAD1_PER_CPU")),
"node_high_load_seen": node_high_load_seen,
"ssh_port_tcp_open": ssh_port_tcp_open,
"ssh_banner_seen": "SSH_BANNER=SSH-" in output,
"auth_attempt_count": len(auth_attempts),
@@ -848,6 +859,8 @@ def _active_blockers(
blockers.append("ssh_publickey_server_accepts_key_then_timeout_on_wooo")
if ssh_diagnosis["runner_systemctl_show_timeout_seen"]:
blockers.append("runner_systemctl_show_timeout_on_110")
if ssh_diagnosis["node_high_load_seen"]:
blockers.append("ssh_publickey_node_high_load_on_110")
if ssh_local["receipt_seen"] and not ssh_local["control_channel_metadata_ready"]:
blockers.append("ssh_local_repair_receipt_metadata_not_ready")
if not watchdog_check["receipt_seen"]: