Repository navigation
fix(runtime): support IPv6 ZMQ event paths - #15324
Conversation
Signed-off-by: jthomson04 <jwillthomson19@gmail.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: ai-dynamo/dynamo/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 9 remain after this review. WalkthroughDirect ZMQ publishers now select an advertised IPv4 or IPv6 address and bind to a wildcard endpoint for that address family. Publisher and subscriber sockets enable IPv6. Tests cover host selection, discovery, delivery, and dynamic publishers across IPv4 and IPv6. ChangesDual-stack event plane
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to No identified issue blocks merging. IPv6-only deployment validation remains pending. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 58.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 2 files. (1 skipped: 1 unsupported.) Full details: Description checkExplanation The description clearly explains the problem, implementation, scope, validation, and pending deployment validation. However, it omits the required Related Issues section and does not confirm whether the PR is linked to an issue.
Comment |
|
Review follow-up for
Keep this PR focused on event transport. Do not add docstrings solely to satisfy the bot's coverage target. Local validation:
The two-pod IPv6 Kubernetes reproduction remains pending. Local socket tests do not establish that the full reported deployment works. The 1.5.1 backport remains separate. |
Summary
After #13126, direct ZMQ event publishers still selected and bound IPv4. On the IPv6-only pod network reported in #7619, they could advertise IPv4 loopback, or advertise an explicit IPv6 address without an IPv6 listener.
Reuse the existing resolver to prefer non-loopback IPv4, then IPv6. Bind the matching wildcard and advertise the port assigned to that socket. Enable IPv6 in the shared event-plane PUB/SUB builders, including broker connections. Keep existing host override validation and document the behavior.
Changes are limited to the two runtime event-plane modules and their configuration reference. Backend event ingestion, replay, and local IPv4 connections remain outside this fix. The 1.5.1 backport follows after this PR merges.
Validation
cargo clippy -p dynamo-runtime --all-targets -- -D warnings,cargo fmt --all -- --check, andgit diff --checkpassed.fern check --warningspassed after generating the ignored API references; it reports three unrelated warnings, including the authenticated redirect check being skipped.fern docs broken-linksreports one existing broken link indocs/fern/pages/recipes/model-recipes/deepseek-v4-pro-0813.mdx:254, unchanged from the base commit.examples/backends/vllm/deploy/agg.yamlwithQwen/Qwen3-0.6B, an image built from this branch, IPv6 HTTP/health listeners, and KV events enabled. Confirm worker health,/v1/models, a completion, and applied KV events in the frontend router before claiming the full reported deployment is fixed.Summary by CodeRabbit