Skip to content

e2e: give first test the full RUNPOD_INIT_TIMEOUT as cold-start buffer - #347

Merged
velaraptor-runpod merged 1 commit into
mainfrom
e2e/cold-start-buffer-bump
Sep 25, 2026
Merged

velaraptor-runpod merged 1 commit into
mainfrom
e2e/cold-start-buffer-bump

Conversation

@velaraptor-runpod

Copy link
Copy Markdown
Contributor

Summary

The per-test deadline in scripts/serverless_e2e_test.py was timeout (300s) + cold-start buffer (600s) = 900s, while workers are allowed 1600s to initialize (RUNPOD_INIT_TIMEOUT, added in #341). When cold start exceeded 15 minutes — fresh 9GB image pull, 61GB gpt-oss-120b weight download at runtime, ~90s of CUDA graph capture — the first test gave up before the worker came up, and the following test then passed on the warm worker, failing the suite despite a healthy image.

Observed on #345 (feature/bump-vllm-v0.30.0, run 35910590767): basic_inference_test timed out at exactly the 900s mark, openai_messages_test passed ~7.5 min later. Reproduced independently with the same CI image and script: cold start was ~9.4 min and both tests passed — i.e. the failure is a marginal timeout, not a worker defect.

Change

  • Extract RUNPOD_INIT_TIMEOUT_SECONDS = 1600 as a single constant used for both the template env var and the buffer default, so the two can't drift apart again.
  • Default --cold-start-buffer-seconds from 600 → 1600 (first-test deadline 900s → 1900s = init window + test timeout). CLI override unchanged.

Verified with python3 scripts/serverless_e2e_test.py --help and a live end-to-end run of the harness against the CI-built v0.30.0 image.

Test plan

  • Syntax/--help check
  • Live e2e repro against the CI image (both tests pass, ~9.4 min cold start)
  • CI on this PR exercises the new default

The per-test deadline was timeout(300s) + 600s buffer = 900s, while workers
are allowed 1600s to initialize (RUNPOD_INIT_TIMEOUT, added in #341). When
cold start exceeded 15 minutes (fresh 9GB image pull + 61GB gpt-oss-120b
weight download + CUDA graph capture), basic_inference_test gave up before
the worker came up; the following test then passed on the warm worker, so
the suite failed despite a healthy image. Default the buffer to the full
init timeout (first-test deadline 1900s) and derive both values from one
constant so they cannot drift apart.
@velaraptor-runpod
velaraptor-runpod merged commit 7471d5e into main Sep 25, 2026
12 checks passed
@velaraptor-runpod
velaraptor-runpod deleted the e2e/cold-start-buffer-bump branch September 25, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants