Repository navigation
chore(container): OPS-9080 add libbrotli1 to the runtime OS package refresh - #17913
Conversation
…efresh Add libbrotli1 to the apt-get --only-upgrade step of the vLLM, SGLang, TensorRT-LLM and frontend runtime templates, so the images move it to the current Ubuntu patch release like the other packages in that step. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Dmitry Tokarev <dtokarev@nvidia.com>
|
No actionable comments were generated in the recent review. WalkthroughFour container templates add ChangesRuntime image package upgrades
Estimated code review effort: 1 (Trivial) | ~3 minutes Merge Risk:
|
❌ Dynamo PR CI failed — run 41577864443 (attempt 2) on
|
| Framework | Deploy |
|---|---|
| vLLM | ❌ 2 ✅ 2 |
| SGLang | ❌ 1 ✅ 2 |
Failure details
3 Deploy Test jobs failed the same way, before any test ran: vcluster create ci-41577864443 waited about 2 minutes for namespace gh-id-41577864443-pr-17913-dt to finish terminating, then timed out. This is an infrastructure failure. No jobs were cancelled.
❌ sglang Deploy Test / agg_router: vCluster create timed out waiting for namespace termination
Job: sglang Deploy Test / agg_router · Failed step: Self-bootstrap vCluster (rerun) · Logs: gh run view --job 125764335025 -R ai-dynamo/dynamo --log-failed
+ vcluster create ci-41577864443 --namespace gh-id-41577864443-pr-17913-dt --connect=false --upgrade --set controlPlane.distro.k8s.enabled=true --set controlPlane.distro.k8s.version=v1.36.4 --set sync.toHost.persistentVolumes.enabled=true
06:28:27 info Waiting until namespace is terminated...
06:30:27 fatal client rate limiter Wait returned an error: context deadline exceeded
+ grep -qE 'release: already exists|another operation \(install/upgrade/rollback\) is in progress' /tmp/tmp.k9ENvGW8yH
+ exit 1
##[error]Process completed with exit code 1.
The vCluster bootstrap failed before deployment or tests started. vcluster create hit its deadline while waiting for the run's namespace, which still looked like it was terminating from the previous attempt. The "already exists / in progress" adoption check did not match, so the step exited. This is an infrastructure/cluster-state problem, not a code failure. Rerunning the failed jobs is likely enough once the namespace is gone.
❌ vllm Deploy Test / agg: vCluster create timed out waiting for namespace termination
Job: vllm Deploy Test / agg · Failed step: Self-bootstrap vCluster (rerun) · Logs: gh run view --job 125764335116 -R ai-dynamo/dynamo --log-failed
+ vcluster create ci-41577864443 --namespace gh-id-41577864443-pr-17913-dt --connect=false --upgrade --set controlPlane.distro.k8s.enabled=true --set controlPlane.distro.k8s.version=v1.36.4 --set sync.toHost.persistentVolumes.enabled=true
06:28:27 info Waiting until namespace is terminated...
06:30:30 fatal client rate limiter Wait returned an error: context deadline exceeded
+ grep -qE 'release: already exists|another operation \(install/upgrade/rollback\) is in progress' /tmp/tmp.k9ENvGW8yH
+ exit 1
##[error]Process completed with exit code 1.
The vCluster bootstrap failed before deployment or tests started. vcluster create hit its deadline while waiting for the run's namespace, which still looked like it was terminating from the previous attempt. The "already exists / in progress" adoption check did not match, so the step exited. This is an infrastructure/cluster-state problem, not a code failure. Rerunning the failed jobs is likely enough once the namespace is gone.
❌ vllm Deploy Test / agg_router: vCluster create timed out waiting for namespace termination
Job: vllm Deploy Test / agg_router · Failed step: Self-bootstrap vCluster (rerun) · Logs: gh run view --job 125764335140 -R ai-dynamo/dynamo --log-failed
+ vcluster create ci-41577864443 --namespace gh-id-41577864443-pr-17913-dt --connect=false --upgrade --set controlPlane.distro.k8s.enabled=true --set controlPlane.distro.k8s.version=v1.36.4 --set sync.toHost.persistentVolumes.enabled=true
06:28:27 info Waiting until namespace is terminated...
06:30:27 fatal client rate limiter Wait returned an error: context deadline exceeded
+ grep -qE 'release: already exists|another operation \(install/upgrade/rollback\) is in progress' /tmp/tmp.k9ENvGW8yH
+ exit 1
##[error]Process completed with exit code 1.
The vCluster bootstrap failed before deployment or tests started. vcluster create hit its deadline while waiting for the run's namespace, which still looked like it was terminating from the previous attempt. The "already exists / in progress" adoption check did not match, so the step exited. This is an infrastructure/cluster-state problem, not a code failure. Rerunning the failed jobs is likely enough once the namespace is gone.
For agents
{
"pr": 17913,
"run_id": 41577864443,
"run_attempt": 2,
"head_sha": "93e5d251bae6a983ef1cc890460af47919eb7290",
"failures": [
{
"job": "sglang Deploy Test / agg_router",
"job_id": 125764335025,
"failed_step": "Self-bootstrap vCluster (rerun)",
"signature": "vcluster create timed out waiting for namespace termination (client rate limiter: context deadline exceeded)",
"tests": [],
"log_cmd": "gh run view --job 125764335025 -R ai-dynamo/dynamo --log-failed"
},
{
"job": "vllm Deploy Test / agg",
"job_id": 125764335116,
"failed_step": "Self-bootstrap vCluster (rerun)",
"signature": "vcluster create timed out waiting for namespace termination (client rate limiter: context deadline exceeded)",
"tests": [],
"log_cmd": "gh run view --job 125764335116 -R ai-dynamo/dynamo --log-failed"
},
{
"job": "vllm Deploy Test / agg_router",
"job_id": 125764335140,
"failed_step": "Self-bootstrap vCluster (rerun)",
"signature": "vcluster create timed out waiting for namespace termination (client rate limiter: context deadline exceeded)",
"tests": [],
"log_cmd": "gh run view --job 125764335140 -R ai-dynamo/dynamo --log-failed"
}
]
}Posted automatically by Devin for run 41577864443. Updated on every full-CI run of this PR.
Linear: OPS-9080
Summary
Add
libbrotli1to theapt-get install --only-upgradestep of the vLLM, SGLang, TensorRT-LLM and frontend runtime templates. That step moves packages that the base image already ships to the current Ubuntu patch release.libbrotli1 1.1.0-2build2. The noble archive has1.1.0-2ubuntu0.1for amd64 and arm64.libbrotli1from a fresh install and already has1.1.0-2ubuntu0.1. If a build reuses an older cached layer, the list entry still moves it to the current release.Validation
container/render.pyrenders seven CUDA targets: vLLM, SGLang and TensorRT-LLM, each with and without--make-efa, plus the frontend. Each rendered Dockerfile differs frommainby the one added line.I ran the rendered step from
mainand from this branch inside themain-*images built from7e44a1dfea(amd64). Each run used root and a fresh container:libbrotli1beforemainlibbrotli1), 0 newly installed, 0 to removemainlibbrotli1), 0 newly installed, 0 to removemainlibbrotli1), 0 newly installed, 0 to removemainports.ubuntu.comlistslibbrotli1 1.1.0-2ubuntu0.1innoble-updates. The control package,libssl3t64 3.0.13-0ubuntu3.16, matches the version installed in the images.libbrotli1(dpkg-query: no packages found matching libbrotli1inmain-dynamo-sidecar), so its list stays as it is.pre-commit run --all-files: 40 hooks passed.93e5d251ba): vLLM, SGLang, TensorRT-LLM and frontend, on amd64 and arm64, all shiplibbrotli1 1.1.0-2ubuntu0.1. In each image, the three shared-library files match the package md5sums, which is the check thatdpkg -Vruns. Control:main-vllm-runtimestill has1.1.0-2build2.🤖 Generated with Claude Code