feat(vllm): route RL controls through sidecar - #13066
Open
connorcarpenter15 wants to merge 1 commit into
Open
Conversation
Contributor
This comment has been minimized.
This comment has been minimized.
connorcarpenter15
marked this pull request as ready for review
August 12, 2026 03:43
Contributor
WalkthroughChangesRL control and discovery support
Estimated code review effort: 4 (Complex) | ~45 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lib/backend-common/src/rl.rs`:
- Around line 48-57: Update self_host_base_url to bracket IPv6 literal hosts
before interpolating them into the HTTP URL, including configured values such as
::1 while preserving existing handling for wildcard hosts and IPv4/hostname
values.
In `@lib/sidecar/vllm/src/tests.rs`:
- Around line 284-316: Implement the fake handlers for every route advertised by
server_info(), replacing unimplemented_rl_rpc() in resume_generation, is_paused,
sleep, wake_up, is_sleeping, start_weight_update, start_draft_weight_update, and
update_weight_version. Add shared fake state so pause/resume, sleep/wake, and
weight-version updates produce successful responses and persist the
corresponding state across calls, including update_weight_version even without a
capability flag.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 12124258-824f-4281-9385-52b5d1ce377e
📒 Files selected for processing (15)
lib/backend-common/examples/mocker/src/engine.rslib/backend-common/src/args.rslib/backend-common/src/lib.rslib/backend-common/src/rl.rslib/backend-common/src/worker.rslib/bindings/python/rust/backend.rslib/mocker/servers/vllm/src/server.rslib/sidecar/trtllm/src/engine.rslib/sidecar/vllm/README.mdlib/sidecar/vllm/proto/README.mdlib/sidecar/vllm/proto/control.protolib/sidecar/vllm/src/client.rslib/sidecar/vllm/src/engine.rslib/sidecar/vllm/src/model.rslib/sidecar/vllm/src/tests.rs
This was referenced Aug 14, 2026
connorcarpenter15
changed the base branch from
main
to
feat/vllm-rl-control-protocol
August 14, 2026 16:49
connorcarpenter15
force-pushed
the
feat/vllm-sidecar-rl
branch
2 times, most recently
from
August 14, 2026 19:37
e31c07f to
4f2320d
Compare
connorcarpenter15
force-pushed
the
feat/vllm-sidecar-rl
branch
from
August 14, 2026 20:07
4f2320d to
b2e1010
Compare
connorcarpenter15
force-pushed
the
feat/vllm-sidecar-rl
branch
from
August 14, 2026 21:38
b2e1010 to
8bf8387
Compare
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
connorcarpenter15
force-pushed
the
feat/vllm-sidecar-rl
branch
from
August 14, 2026 21:58
8bf8387 to
acc5ee9
Compare
This was referenced Aug 17, 2026
tanmayv25
approved these changes
Aug 18, 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.
Overview:
Route Dynamo vLLM sidecar reinforcement-learning controls and model updates through vLLM's native
vllm.ControlgRPC API.The sidecar advertises only capabilities reported by vLLM and preserves vLLM's RL HTTP request schemas at the Dynamo
/engine/*boundary.This is PR 4 of 4 in the vLLM RL-control stack.
Details:
GPU smoke validation
The full live-engine matrix passed on ComputeLab H100 job
3609821using Dynamodbbba48ba4e5a3dd746b460e930a36d1bc37fa30, vLLM PR #51316 commit76ebe5a217d7536a5661272c680f0b1e3a62f5be, andQwen/Qwen3-0.6Bas both main and speculative draft models.The latest implementation was revalidated on ComputeLab H200 job
3656592against vLLM PR #51316 commita4f166; the explicit-tag control/update matrix passed. Untagged wake after a tagged partial wake remains an upstream vLLM issue tracked in DIS-2674 and is not claimed as passing here.Local validation
cargo fmt --all -- --checkcargo test --locked -p dynamo-vllm-sidecar -p dynamo-vllm-mocker— 21 sidecar tests, 12 mocker tests, 3 sidecar integration tests, and the executable test passed on the final stacked headcargo check, Python bindingcargo check, and affected-package clippy with warnings deniedWhere should the reviewer start?
lib/sidecar/vllm/src/engine.rsfor capability discovery and gRPC control/update routing.lib/sidecar/vllm/src/model.rsandlib/sidecar/vllm/src/client.rsfor capability and client support.lib/sidecar/vllm/src/tests.rsfor semantic payload and lifecycle coverage.Stack:
Related Issues
🚫 This PR is NOT linked to a GitHub issue:
AI assistance disclosure
This implementation was prepared with OpenAI Codex assistance and requires human review before merge.