Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
# Private repos referenced in docs (404 to unauthenticated lychee)
^https://github\.com/ai-dynamo/pi-dynamo-provider

# GitHub stargazers page 404s to unauthenticated lychee; loads fine in a browser.
^https://github\.com/ai-dynamo/dynamo/stargazers

# Redirects to networking-docs.nvidia.com which refuses connections from
# GitHub runners (network/firewall). The page loads from a normal browser.
^https://docs\.nvidia\.com/networking/display/cokan10/network\+operator
Expand Down
2 changes: 1 addition & 1 deletion container/context.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ vllm:
runtime_image_tag: v0.23.0
# baseline_sbom: not yet captured for cpu — runtime build runs without subtraction
flashinf_ref: v0.6.8.post1
vllm_omni_ref: "v0.21.0rc1"
vllm_omni_ref: "v0.23.0rc1"
nixl_ref: v1.1.0
max_jobs: "10"
enable_media_ffmpeg: "false"
Expand Down
41 changes: 41 additions & 0 deletions container/deps/vllm/install_vllm_omni.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,44 @@ else
--constraints "${PROTECTED_CONSTRAINTS}" \
"vllm-omni==${VLLM_OMNI_VERSION}"
fi

# Cherry-pick vllm-project/vllm-omni#4568 onto the released wheel.
#
# vLLM-Omni globally monkeypatches vllm.v1.request.Request with its OmniRequest
# subclass at import time, and the test suite imports vllm_omni for collection,
# so this applies to every vLLM worker in the image -- not just omni modes. In
# the released v0.23.0rc1, OmniRequest.__init__ still declares `*args` after its
# named parameters, so vLLM 0.23's positional Request(...) construction misbinds
# the arguments and EngineCore initialization fails for all vLLM workers. The fix
# moves `*args` to the front and forwards cleanly. Drop this once a vllm-omni
# release includes the change.
# https://github.com/vllm-project/vllm-omni/commit/17cf60a63d240608653c4532084a4c00d6f02216
VLLM_OMNI_CHERRY_PICK_COMMIT="17cf60a63d240608653c4532084a4c00d6f02216"

omni_site="$(python3 -c 'import importlib.util, os; print(os.path.dirname(os.path.dirname(importlib.util.find_spec("vllm_omni").origin)))')"
full_patch="$(mktemp /tmp/vllm-omni-commit.XXXXXX.patch)"
cherry_pick_patch="$(mktemp /tmp/vllm-omni-cherry-pick.XXXXXX.patch)"

curl -fsSL \
"https://github.com/vllm-project/vllm-omni/commit/${VLLM_OMNI_CHERRY_PICK_COMMIT}.patch" \
-o "${full_patch}"
# Keep only the vllm_omni/request.py hunk; the commit's new test file is not part
# of the installed wheel.
awk '/^diff --git a\/vllm_omni\/request.py/{f=1} f' "${full_patch}" > "${cherry_pick_patch}"

if [ ! -s "${cherry_pick_patch}" ]; then
echo "ERROR: could not extract request.py hunk from vllm-omni commit ${VLLM_OMNI_CHERRY_PICK_COMMIT}" >&2
exit 1
fi

if patch -p1 -d "${omni_site}" --forward --dry-run < "${cherry_pick_patch}" >/dev/null 2>&1; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The script now invokes patch, but the vLLM runtime image only installs jq before this step and does not guarantee the patch utility, so the image build can fail with command not found. Fix: install patch before running install_vllm_omni.sh.

🤖 AI Fix

Update container/templates/vllm_runtime.Dockerfile in the apt-get install RUN block immediately before the vLLM-Omni install to include patch in the apt-get install -y --no-install-recommends package list with jq.

patch -p1 -d "${omni_site}" --forward < "${cherry_pick_patch}"
echo "Applied vllm-omni cherry-pick ${VLLM_OMNI_CHERRY_PICK_COMMIT}"
elif patch -p1 -d "${omni_site}" --reverse --dry-run < "${cherry_pick_patch}" >/dev/null 2>&1; then
echo "vllm-omni cherry-pick ${VLLM_OMNI_CHERRY_PICK_COMMIT} already present; skipping"
else
echo "ERROR: vllm-omni cherry-pick ${VLLM_OMNI_CHERRY_PICK_COMMIT} does not apply cleanly to the installed package" >&2
exit 1
fi

rm -f "${full_patch}" "${cherry_pick_patch}"
2 changes: 1 addition & 1 deletion container/deps/vllm/protected_packages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ triton
vllm
transformers
tokenizers
# vLLM-Omni (v0.21.0rc1) may require a newer safetensors than the upstream
# vLLM-Omni (v0.23.0rc1) may require a newer safetensors than the upstream
# vLLM 0.23.0 image ships, so safetensors is intentionally left unfrozen here.
# safetensors
msgspec
Expand Down
Loading