diff --git a/ops/runner/test_verify_awoooi_non110_cd_closure.py b/ops/runner/test_verify_awoooi_non110_cd_closure.py index 109651563..6fb37bc61 100644 --- a/ops/runner/test_verify_awoooi_non110_cd_closure.py +++ b/ops/runner/test_verify_awoooi_non110_cd_closure.py @@ -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] diff --git a/ops/runner/verify-awoooi-non110-cd-closure.py b/ops/runner/verify-awoooi-non110-cd-closure.py index 7392ee732..391429acf 100755 --- a/ops/runner/verify-awoooi-non110-cd-closure.py +++ b/ops/runner/verify-awoooi-non110-cd-closure.py @@ -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": (