Skip to content

AIMVT-303: Implement HTTP client in ParallelHTTPClient class - #368

Open
speriaswamy-amd wants to merge 6 commits into
speriaswamy/aimvt-302-http-agent-api-implementationfrom
speriaswamy/aimvt-303-http-client-implementation
Open

AIMVT-303: Implement HTTP client in ParallelHTTPClient class#368
speriaswamy-amd wants to merge 6 commits into
speriaswamy/aimvt-302-http-agent-api-implementationfrom
speriaswamy/aimvt-303-http-client-implementation

Conversation

@speriaswamy-amd

Copy link
Copy Markdown
Contributor

Summary

  • Adds ParallelHTTPClient (cvs/core/agent/http_client.py), an async httpx-based client providing API parity with ParallelSSHClient: run_command, health, shutdown, lazy shared connection reuse, and rebuild/destroy for host-set changes.
  • Adds HostOutput dataclass and exception mapping (HTTPConnectionError/HTTPProtocolError) so unreachable vs. failed-request hosts can be distinguished the same way prune_unreachable_hosts distinguishes pssh exceptions.
  • Supports stop_on_errors, host_args (per-host command substitution), and inline/file output modes, collecting file-mode output back into list[str] for a uniform response shape.

Stacked on #365 (AIMVT-302) — this PR's diff is limited to http_client.py and its tests; base branch will be retargeted to main once #365 merges.

Jira: AIMVT-303

Test plan

  • cvs/core/agent/unittests/test_http_client.py covers run_command (inline/file/exit-code-only modes, host_args, stop_on_errors), health, shutdown, and exception classification, all against mocked HTTP transport

@atnair-amd
atnair-amd self-requested a review August 28, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant