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 <[email protected]>
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!

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SSH transport consolidated onto ssh_argv() across 8 call sites with identical flags/defaults preserved at every site; new contract test guards against regrowth. CI green.


Generated by Claude Code

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.

2 participants