[All Platforms][Onboard] Onboard doesn't reuse an already-running matching vLLM server, fails on port 8000 conflict instead
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
## Description
Onboarding a second sandbox with `NEMOCLAW_VLLM_MODEL` pinned to the exact model already served by a healthy, running managed vLLM instance does not reuse that server. Instead NemoClaw attempts a fresh vLLM install and fails closed on a port-8000 conflict with the very server it should have reused.
**Platform scope:** All Platforms -- reproduced on DGX Spark (aarch64), but root cause is managed-vLLM onboard reuse/reservation logic with no platform/hardware dependency; expected to reproduce identically on any GPU platform.
**Regression:** Unknown — earlier versions not tested this pass.
Possibly related (not a confirmed duplicate): #10036 describes friction in a similar area (multiple sandboxes sharing one local vLLM on DGX Spark) via a different specific repro path.
## Environment
- Device: DGX Spark (real GB10 GPU)
- OS: Linux aarch64
- Node.js: v22.22.1
- npm: 10.9.4
- Docker: 28.3.3
- OpenShell CLI: 0.0.106
- NemoClaw: v0.0.121
- OpenClaw: 2026.7.1
## Steps to Reproduce
1. On a DGX Spark host, onboard a sandbox with managed vLLM: `nemoclaw onboard --name qa-openclaw --no-sandbox-gpu --yes --yes-i-accept-third-party-software`. Reaches Ready, vLLM serving `nvidia/Qwen3.6-35B-A3B-NVFP4` on port 8000, confirmed healthy via `nemoclaw qa-openclaw status` and `curl http://127.0.0.1:8000/v1/models`.
2. With that server still running and healthy, onboard a second sandbox pinning the SAME served model:
```
NEMOCLAW_VLLM_MODEL=nvidia/Qwen3.6-35B-A3B-NVFP4 nemoclaw onboard --name reuse-match --yes --yes-i-accept-third-party-software --non-interactive
```
## Expected Result
NemoClaw detects the compatible already-running vLLM server (same served model) and adopts it without installing over or restarting it. The new sandbox reaches Ready reporting the reused served model.
## Actual Result
```
[3/8] Configuring inference provider
[non-interactive] Provider: install-vllm
vLLM install failed: port 8000 is already in use by another process.
sudo lsof reports docker-pr (the existing managed vLLM container's port-forward process) listening on port 8000
Stop that process, then rerun onboarding.
[non-interactive] Aborting: vLLM install failed. See errors above.
```
Exit code 1. Onboarding does not attempt the documented reuse path at all — it goes straight to a fresh install and fails on the port conflict with the exact server it should have reused.
## Logs
Full non-interactive onboard transcript (see Actual Result above for the relevant excerpt); preflight passed cleanly (Docker, GPU, OpenShell all healthy) before the failure at the inference-provider-configuration step.
Contributor guide
Research direction
Reproduce the failure with the two `nemoclaw onboard` commands and inspect the inference-provider-configuration step and managed-vLLM reuse path. Verify the existing port-8000 server with `curl /v1/models`; done means a second sandbox with the same model reaches Ready while reusing that healthy server without reinstalling or restarting it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, typescript
- Domain
- ai, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100