Skip to content

stress: device-orchestrator SSH agent runner + log parser (part 3 of #3746) #3772

@elitegreg

Description

@elitegreg

Part 3 of #3746. Depends on part 2 (sub-issue #3771) for the AgentRunner interface, and on #3741 for the commit-success log line.

Real AgentRunner implementation that completes the #3746 acceptance criteria.

Scope

  • pkg/agent/ssh.go — dial --dut-ssh-host with --dut-ssh-key (golang.org/x/crypto/ssh), exec doublezero-agent ... -verbose, tee remote stdout/stderr into <working-dir>/orchestrator.agent.log while feeding it to the parser.
  • pkg/agent/parser.go:
  • Wire pkg/agent/ssh.go into cmd/device-orchestrator/main.go as the default AgentRunner. Keep noopAgent reachable via --no-agent for offline testing.

Tests

  • parser_test.go: golden log fixtures (multi-tunnel diff, deprovision diff, commit-success line) — fully offline.
  • SSH client itself is integration-only; gate behind a build tag or env var so CI doesn't dial.

Completion / CI

make go-build go-lint go-test green; manual devnet acceptance run per #3746: 0→8 in batches of 2, hold 10s, full five-event timestamps for at least one user end-to-end, abort-file respected within one batch. PR title prefix tools/stress: agent SSH + log parser.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions