e2e: add qa agent support and e2e test for local qa testing#2951
Merged
e2e: add qa agent support and e2e test for local qa testing#2951
Conversation
add QA agent binary build, container packaging, and startup logic so the QA client library can be exercised against the local Docker devnet. the new TestE2E_QAAgent_UnicastConnectivity test validates the full lifecycle: connect via QA agent, wait for status, wait for routes, ping, disconnect. key changes: - build and package doublezero-qaagent in base and client images - start QA agent in client entrypoint with crash detection - add EnableQAAgent/QAAgentPort to devnet ClientSpec with port mapping - add SetPublicIP and ClientIP to qa.Client for CYOA IP overrides - pass ClientIp through ConnectUnicast request - accept "localnet" as valid env in qa TestMain
snormore
approved these changes
Feb 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
doublezero-qaagentin the base and client Docker imagesDZ_QAAGENT_ENABLE=true, with crash detection on startupClientSpecwithEnableQAAgentandQAAgentPortfields, handling port mapping and state recoverySetPublicIP()andClientIPtoqa.Clientto override auto-detected IPs in E2E containers where multiple network interfaces cause incorrect detectionClientIpthrough theConnectUnicastgRPC request for correct CYOA network addressing"localnet"as a valid environment in the QATestMainTestE2E_QAAgent_UnicastConnectivity— a new E2E test validating the full QA agent lifecycle: connect via QA agent, wait for status, wait for cross-exchange routes, ping bidirectionally, disconnectTesting Verification
TestE2E_QAAgent_UnicastConnectivitypasses end-to-end (219.50s) against a local Docker devnet with two devices in different exchanges and two QA-agent-enabled clientsgo vet -tags e2e ./e2e/...passes cleanlygolangci-lint runpasses on all changed files (3 pre-existing issues in unrelated files)