Skip to content

nok8s: On a vLLM readiness timeout, nok8s standup captures Envoy's logs instead of the failing vLLM worker's #1701

Description

@UgaTheDev

Environment: commit 2c1e326; macOS 15 (Darwin 25.3.0) / Python 3.13.7 /
Docker 29.1.5; no Kubernetes cluster, no GPU; helm, helmfile, yq, kind, podman
absent. Reproduced in a venv with pip install -e . plus
llm-d-planner v0.1.0.

Repro (the scout used a locally built image whose vllm entrypoint never
serves, to isolate this from lack of a GPU; the real-world trigger is the one the
docs name, "vLLM container exits at load"):

llmdbenchmark --spec <nok8s-spec> --base-dir . standup --nok8s-deploy-timeout 15

Expected: the failing container's logs are captured, since that is the only
place the cause (bad HF token, model too large for VRAM, wrong accelerator
image) is visible.

Actual: the error names the vLLM port, but the only artifact written is
nok8s-envoy.log, containing an unrelated Envoy startup warning:

[06] Stack 'nok8s-single': FAILED: [06] nok8s_deploy (nok8s-single): FAILED - Timed out waiting for http://localhost:8000/v1/models after 15s
$ cat ws9/.../setup/logs/nok8s-envoy.log
[2026-07-30 09:59:20.059][1][warning][main] [source/server/server.cc:959] There is no configured limit to the number of allowed active downstream connections. Configure a limit in `envoy.resource_monitors.global_downstream_max_connections` resource monitor.

No nok8s-vllm-0.log is produced.

Cause: step_06_nok8s_deploy.py:99-104

ready_err = self._wait_ready(cmd, runtime, spec, context)
if ready_err:
    self._dump_logs(cmd, runtime, "envoy", context)
    return self._fail(stack_path, ready_err, [ready_err])

"envoy" is hard-coded, whereas _wait_ready (:247-269) already knows which
port timed out. docs/nok8s.md:178-179 compensates by telling users to run
docker logs vllm-0 by hand. _dump_logs already exists and is used correctly
for launch failures at :92.

Suggested fix: have _wait_ready return the failing container name and dump
that container's logs, or dump all of them on any readiness failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions