NVIDIA / NVIDIA/NemoClaw

[All Platforms][Onboard] Onboard doesn't reuse an already-running matching vLLM server, fails on port 8000 conflict instead

Open
#11,367 0 comments 0 reactions 0 assignees View on GitHub
area: local-models area: onboarding provider: vllm
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.