fix(runner): expose ssh session timeout in closure verifier
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 33s
CD Pipeline / build-and-deploy (push) Failing after 28s
CD Pipeline / post-deploy-checks (push) Has been skipped

This commit is contained in:
Your Name
2026-07-01 12:55:14 +08:00
parent 8e4b96b60a
commit 5285bcd8aa
2 changed files with 31 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ def _queue(
harbor_110_no_matching: bool = False,
harbor_110_remote_control_unavailable: bool = False,
harbor_110_publickey_auth_stalled: bool = False,
harbor_110_session_timeout: bool = False,
) -> dict:
status = (
"blocked_harbor_110_remote_ssh_publickey_auth_stalled"
@@ -67,6 +68,9 @@ def _queue(
"latest_visible_harbor_110_repair_remote_ssh_publickey_reply_timeout_seen": (
harbor_110_publickey_auth_stalled
),
"latest_visible_harbor_110_repair_remote_ssh_server_accepts_key_then_session_timeout": (
harbor_110_session_timeout
),
},
"rollups": {
"harbor_110_repair_remote_control_channel_unavailable": (
@@ -79,6 +83,9 @@ def _queue(
"harbor_110_repair_remote_ssh_publickey_reply_timeout_seen": (
harbor_110_publickey_auth_stalled
),
"harbor_110_repair_remote_ssh_server_accepts_key_then_session_timeout": (
harbor_110_session_timeout
),
},
"operation_boundaries": {
"workflow_dispatch_performed": False,
@@ -251,7 +258,11 @@ def test_closure_verifier_blocks_harbor_110_publickey_auth_stalled() -> None:
module = _load_module()
payload = module.build_closure_verifier(
readiness_text=_readiness(ready=True),
queue=_queue(no_matching=False, harbor_110_publickey_auth_stalled=True),
queue=_queue(
no_matching=False,
harbor_110_publickey_auth_stalled=True,
harbor_110_session_timeout=True,
),
production_workbench=_workbench(image_current=True, governance_ready=True),
)
@@ -263,6 +274,12 @@ def test_closure_verifier_blocks_harbor_110_publickey_auth_stalled() -> None:
payload["readback"]["harbor_110_remote_ssh_publickey_reply_timeout_seen"]
is True
)
assert (
payload["readback"][
"harbor_110_remote_ssh_server_accepts_key_then_session_timeout"
]
is True
)
assert payload["progress"]["next_blocked_step_id"] == "public_queue_runner_match"
assert payload["ordered_steps"][2]["status"] == "blocked"
assert "repair_110_ssh_publickey_auth_local_check" in payload["next_actions"][0]

View File

@@ -349,6 +349,16 @@ def build_closure_verifier(
)
is True
)
harbor_110_remote_ssh_server_accepts_key_then_session_timeout = (
queue_readback.get(
"latest_visible_harbor_110_repair_remote_ssh_server_accepts_key_then_session_timeout"
)
is True
or queue_rollups.get(
"harbor_110_repair_remote_ssh_server_accepts_key_then_session_timeout"
)
is True
)
queue_runner_match_next_action = (
"run_sudo_usr_local_bin_repair_110_ssh_publickey_auth_local_check_on_110_"
"local_console_then_apply_if_metadata_only_then_rerun_public_queue_and_"
@@ -476,6 +486,9 @@ def build_closure_verifier(
"harbor_110_remote_ssh_publickey_reply_timeout_seen": (
harbor_110_remote_ssh_publickey_reply_timeout_seen
),
"harbor_110_remote_ssh_server_accepts_key_then_session_timeout": (
harbor_110_remote_ssh_server_accepts_key_then_session_timeout
),
"production_workbench_present": production_workbench_present,
"production_workbench_source_count": _int(production.get("source_count")),
"production_deploy_image_tag_matches_main": (