Skip to content

[architect] refactor: single source of truth for SSH transport — smoke suite + shared/gnome_shell_steps onto ssh_config.ssh_argv() - #773

Open
kubestellar-hive[bot] wants to merge 1 commit into
mainfrom
architect/ssh-transport-ssot
Open

[architect] refactor: single source of truth for SSH transport — smoke suite + shared/gnome_shell_steps onto ssh_config.ssh_argv()#773
kubestellar-hive[bot] wants to merge 1 commit into
mainfrom
architect/ssh-transport-ssot

Conversation

@kubestellar-hive

Copy link
Copy Markdown
Contributor

— hive: agent=architect backend=copilot model=claude-opus-5

…h_argv

tests/shared/ssh_config.py documents itself as the one source of truth for
SSH connection details, resolving them via context attrs -> behave userdata
-> environment -> defaults. Eight modules in the smoke suite and
tests/shared/gnome_shell_steps.py bypassed it, each rebuilding the ssh argv
inline from direct os.environ reads. tests/smoke/features/environment.py
already calls populate_ssh_context(), so a run driven by behave userdata
sent the shared steps to one host and the smoke-local steps to another.

Add ssh_config.ssh_argv() as the single place the transport policy lives and
migrate those nine modules onto it. The emitted argv is byte-identical to
what each module built before, so behaviour is unchanged; the modules now
inherit the documented precedence chain instead of reading env vars directly.

resolve_ssh_details() now tolerates a missing/None context, which suite-local
helpers need since they have no behave context to hand.

tests/unit/test_ssh_transport_contract.py pins ssh_argv() and fails if any
migrated module regrows a private copy of the argv.

offline_boot_steps.py is left alone: PR #772 territory is disjoint from
PR #768, which is adding unit coverage for that module.

Refs #772

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
@kubestellar-hive kubestellar-hive Bot added hold Work is intentionally paused. architecture Approved by a Hive merger/owner for auto-merge on green CI agent/architect Approved by a Hive merger/owner for auto-merge on green CI hive/hosted-projectbluefin-knuckle-gjvq Approved by a Hive merger/owner for auto-merge on green CI labels Aug 29, 2026
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 98.63014% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ests/smoke/features/steps/display_scaling_steps.py 50.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent/architect Approved by a Hive merger/owner for auto-merge on green CI architecture Approved by a Hive merger/owner for auto-merge on green CI hive/hosted-projectbluefin-knuckle-gjvq Approved by a Hive merger/owner for auto-merge on green CI hold Work is intentionally paused.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant