Description
When a LangChain Deep Agents Code sandbox is onboarded with a local vLLM custom endpoint (e.g. http://localhost:8000/v1), the host-side vLLM server is reachable directly from the host (/v1/models and /v1/chat/completions both return 200), but requests from inside the sandbox via https://inference.local/v1/models return 503. The NemoClaw gateway proxy fails to route inference requests from the sandbox network namespace to the host's localhost endpoint.
Environment
Device: NVIDIA vm1 (10.34.5.155), Ubuntu 24.04 x86_64 / A100 GPU
OS: Ubuntu 24.04.4 LTS (kernel 6.8.0-117-generic)
Architecture: x86_64
OpenShell CLI: 0.0.44
NemoClaw: v0.0.67
OpenClaw: deepagents-code 0.1.12
vLLM model: Qwen/Qwen2.5-1.5B-Instruct
Steps to Reproduce
-
Start vLLM server on host:
vllm serve Qwen/Qwen2.5-1.5B-Instruct --port 8000
-
Confirm host-side access works:
curl -fsS http://localhost:8000/v1/models # 200 OK
-
Onboard sandbox with custom endpoint:
export NEMOCLAW_ENDPOINT_URL=http://localhost:8000/v1
export NEMOCLAW_MODEL=Qwen/Qwen2.5-1.5B-Instruct
nemoclaw onboard --agent langchain-deepagents-code --non-interactive --name dcode-vllm-local --fresh
-
Run inference from inside sandbox:
nemoclaw dcode-vllm-local exec -- dcode -n "Reply with the single word VLLM. Nothing else."
Expected Result
Step 4: The NemoClaw gateway correctly proxies the sandbox inference request to the registered custom endpoint (http://localhost:8000/v1). dcode returns "VLLM" with exit 0.
Actual Result
Step 4: Gateway returns 503 when sandbox tries to reach https://inference.local/v1/models. The agent is completely unable to call the model from inside the sandbox.
Root cause: The sandbox runs in a Docker network namespace where localhost resolves to the container's own loopback, not the host's. The NemoClaw gateway proxy does not translate localhost in the registered custom endpoint URL to the host's actual IP/hostname before forwarding from the sandbox network namespace. Host-side vLLM remains healthy throughout.
[sandbox] NET:OPEN [INFO] ALLOWED inference.local:443
[sandbox] routing proxy inference request endpoint=http://localhost:8000/v1 method=GET path=/v1/models
[gateway] ERROR: upstream connect error — connection refused
HTTP 503
NVB#6370881
Description
When a LangChain Deep Agents Code sandbox is onboarded with a local vLLM custom endpoint (e.g.
http://localhost:8000/v1), the host-side vLLM server is reachable directly from the host (/v1/modelsand/v1/chat/completionsboth return 200), but requests from inside the sandbox viahttps://inference.local/v1/modelsreturn 503. The NemoClaw gateway proxy fails to route inference requests from the sandbox network namespace to the host's localhost endpoint.Environment
Steps to Reproduce
Start vLLM server on host:
Confirm host-side access works:
curl -fsS http://localhost:8000/v1/models # 200 OKOnboard sandbox with custom endpoint:
Run inference from inside sandbox:
Expected Result
Step 4: The NemoClaw gateway correctly proxies the sandbox inference request to the registered custom endpoint (
http://localhost:8000/v1). dcode returns "VLLM" with exit 0.Actual Result
Step 4: Gateway returns 503 when sandbox tries to reach
https://inference.local/v1/models. The agent is completely unable to call the model from inside the sandbox.Root cause: The sandbox runs in a Docker network namespace where
localhostresolves to the container's own loopback, not the host's. The NemoClaw gateway proxy does not translatelocalhostin the registered custom endpoint URL to the host's actual IP/hostname before forwarding from the sandbox network namespace. Host-side vLLM remains healthy throughout.NVB#6370881