Skip to content

docs(patterns): add vLLM Ray Inference Server sandbox pattern - #751

Open
BwL1289 wants to merge 6 commits into
validatedpatterns:mainfrom
eugo-inc:add-vllm-ray-inference-server
Open

BwL1289 wants to merge 6 commits into
validatedpatterns:mainfrom
eugo-inc:add-vllm-ray-inference-server

Conversation

@BwL1289

@BwL1289 BwL1289 commented Nov 8, 2026 •

Copy link
Copy Markdown

Summary

This pull request adds the vLLM Ray Inference Server pattern to the site in the sandbox tier.

The pattern deploys an OpenAI-compatible LLM server on one OpenShift cluster. One pod runs Ray Serve LLM with the vLLM engine on one NVIDIA GPU. The cluster builds the server image with a BuildConfig from hash-pinned PyPI wheels on the NVIDIA CUDA UBI 9 image. OpenShift GitOps deploys the server, the NVIDIA GPU Operator and Node Feature Discovery, Vault with the External Secrets Operator for an optional Hugging Face token, and a JupyterLab notebook that times the server.

We also emailed hybrid-cloud-patterns@googlegroups.com on 2026-11-08 to ask for the informal technical and
architecture reviews that the sandbox tier asks for. If that list is no longer read, or if it is easier, this pull
request can carry those reviews.

Files

File What it is
content/patterns/rhvp-vllm-ray-inference-server/_index.adoc Overview: background, architecture, deployed components, the AWS cost warning, and the support statement
content/patterns/rhvp-vllm-ray-inference-server/getting-started.adoc Prerequisites, installation, a test request, the notebook, and uninstallation, including deleting the GPU machine set
static/images/rhvp-vllm-ray-inference-server/architecture.svg Architecture diagram, rendered from the Mermaid source in the pattern README

Sandbox tier requirements

Requirement Status
Implementation requirements The pattern uses the clustergroup chart, the Validated Patterns Operator, and idempotent imperative jobs stored in Git. Its repository is public.
Deploys onto a freshly deployed OpenShift cluster without modification A fresh install passed: ./pattern.sh make install from main at 1a781d1, with default settings, on a new installer-provisioned AWS cluster (OpenShift 4.22.18, us-east-1, three m5.2xlarge nodes, no cluster changes). The command's own Argo CD health check passed, with all seven Argo CD applications Synced and Healthy. The pattern added the GPU node, the cluster built both images, the server answered the OpenAI API, and the notebook ran against it with no errors. An earlier install, on another new AWS cluster, found one bug (OpenShift's builder records an empty CMD as /bin/sh -c null), which 1a781d1 fixes (README, What this pattern was verified against).
README states the business problem README, "The problem it solves"
pattern-metadata.yaml pattern-metadata.yaml
Architecture drawing README, Architecture, and architecture.svg in this pull request
Informal technical review Requested by email to the mailing list on 2026-11-08, or here
Informal architecture review Requested by email to the mailing list on 2026-11-08, or here
Support policy README, Support, and the Support section of _index.adoc

Notes for reviewers

  • The name can change. The directory, aliases, image folder, and links use the current repository name. Two
    questions are open with the Validated Patterns team: whether the rhvp- prefix is acceptable under the Red Hat
    trademark guidelines, and whether the repository moves to validatedpatterns-sandbox. A comment at the top of the
    front matter says which values to change together.
  • No partners entry. The pattern uses NVIDIA, Ray, and vLLM software, but no partner organization takes part in
    it. The front matter explains this in a comment. Leaving the field out also keeps the partner trademark notice off
    the page.
  • The diagram is an SVG file. The Mermaid render hook on the site handles Markdown pages only, so the AsciiDoc
    page uses an image. The SVG uses plain SVG text, with no embedded HTML.
  • Commands and names in the getting-started page match the pattern README and the AGENTS.md file in the pattern
    repository.

Checks

  • hugo, run in the container image that make build uses, builds the site with these files and exits 0. The two
    pages report no warning other than the site-wide notice that the optional rouge gem is missing.
  • Every AsciiDoc attribute in both pages resolves. The overview page shows the warning block and the diagram.

@openshift-ci

openshift-ci Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Hi @BwL1289. Thanks for your PR.

I'm waiting for a validatedpatterns member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@BwL1289

BwL1289 commented Nov 9, 2026

Copy link
Copy Markdown
Author

CC @atherr

@dminnear-rh dminnear-rh self-assigned this Nov 11, 2026
@dminnear-rh
dminnear-rh requested review from dminnear-rh and removed request for kquinn1204 November 11, 2026 20:44
@ocpdocs-previewbot

ocpdocs-previewbot commented Nov 11, 2026 •

Copy link
Copy Markdown

🤖 Sat Nov 14 20:22:46 - The preview is ready at:
https://751--patternsdocs-pr.netlify.app

@dminnear-rh

Copy link
Copy Markdown
Contributor

hey @BwL1289, thanks for the PR!

I don't think that google group (hybrid-cloud-patterns@googlegroups.com) is used anymore. We're actively revising the requirements for each tier so I'll make sure we update the process for requesting a technical review. For now, if you're happy with it, we can use this PR as the platform for the review of both the pattern repo and the docs.

Regarding the naming: I'd just drop the rhvp- prefix entirely. It's a bit redundant and longer pattern names are more likely to hit that 63 character dns part limit.

I'm happy to move this repo into validatedpatterns-sandbox if you like and make you a maintainer of that repo. This is NOT required though and if you're happy with the pattern sitting in your repo that's fine.

Regarding the pattern itself: I personally installed this pattern on AWS (OCP 4.22.22) and can confirm that installation worked without a hitch and argo had all resources synced and healthy. (You should be proud of this!!) Following the guidance from the README and these docs I was able to verify the inference server was healthy and functional.

Overall, I think you did an awesome job. There are some things I'd like to understand better though:

  1. This pattern is essentially just serving an LLM and providing a Jupyter notebook. Both of those functionalities are included in Red Hat OpenShift AI. Is there any reason this pattern isn't using RHOAI?
  2. We have some existing patterns that are also in the LLM-serving space: RAG pattern, MaaS pattern. What makes this pattern unique?
  3. Following up on that last point, I noticed the jupyter notebook was showing "No measured result is shown for this comparison." for the With Eugo runs. Why isn't there actual data for the With Eugo runs? I think you may be able to create a stronger use case than just LLM serving by having this pattern demo what Eugo provides better. Then it's no longer a vLLM inference server pattern but rather a check out the incredible capabilities of Eugo pattern.

Comment on lines +2 to +8
# The directory name, the aliases, and the GitHub links in this page set use the
# current repository name, rhvp-vllm-ray-inference-server. That name can change,
# pending two open questions to the Validated Patterns team: whether the "rhvp-"
# prefix is acceptable under the Red Hat trademark guidelines, and whether the
# repository moves to the validatedpatterns-sandbox organization. If either
# changes, rename the directory, the aliases, the image folder, and every link
# in both pages together.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove this (answered in main conversation on this PR)

# in both pages together.
title: vLLM Ray Inference Server
date: 2026-11-08
validated: false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think the validated field actually exists so you can delete this

Comment on lines +17 to +21
# partners: left out on purpose. The pattern deploys software from NVIDIA (the
# GPU Operator and the CUDA base image) and from the Ray and vLLM projects, but
# no partner organization takes part in the pattern. A partners entry suggests a
# partnership, and the site prints a partner trademark notice for it. Add an
# entry only when a partner organization joins the pattern.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove the comment here. If you are happy with it, I think we can have Eugo as a partner here. If you add Eugo here, you'll automatically show up in the partners filter in the side bar of https://validatedpatterns.io/patterns/

Suggested change
# partners: left out on purpose. The pattern deploys software from NVIDIA (the
# GPU Operator and the CUDA base image) and from the Ray and vLLM projects, but
# no partner organization takes part in the pattern. A partners entry suggests a
# partnership, and the site prints a partner trademark notice for it. Add an
# entry only when a partner organization joins the pattern.
partners:
- Eugo

include::modules/comm-attributes.adoc[]
:vllm-ray-pattern: vLLM Ray Inference Server pattern

// The pattern name can change. See the comment at the top of the front matter.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

delete this comment

Add an overview page and a getting-started page for the
rhvp-vllm-ray-inference-server sandbox pattern, plus its architecture
diagram.
…artner, apply review notes

The pattern repository is now named vllm-ray-inference-server. Move both
page folders and the image folder to that name, and update the aliases,
the architecture image path, the GitHub links, the clone and cd
commands, the secrets file name and the notebook name to match.

List Eugo, the maintainer, under partners, so the overview page prints
the partner trademark notice.

Apply the review notes: drop the front matter comments about a possible
rename and the left-out partners entry, and drop validated: false.
… speed

The pattern's namespaces are now vllm-inference (the server) and
vllm-notebook (the notebook). Update the oc commands, the in-cluster
server URL, the notebook access text and the leftover-volume check on
both pages, and the namespace labels in the architecture diagram, whose
notebook build box now names the BuildConfig and ImageStream notebook.

The overview page's notebook entry also lists the single-stream decode
speed that the notebook measures.
… products

- Background: say that the pattern does not replace or integrate with
  the Red Hat AI products, such as Red Hat OpenShift AI, which parts are
  pinned and which are not, the one-time install step and what
  OpenShift GitOps does not do after it, and what the notebook measures.
  Drop the claims that each rebuild installs the same software stack
  and that the pattern uses upstream open source components only.
- Prerequisites: use a cluster that does not already run the Node
  Feature Discovery Operator or the NVIDIA GPU Operator. The pattern
  installs both itself and can conflict with existing installations. It
  has not been tested on a cluster that runs Red Hat OpenShift AI.
@BwL1289
BwL1289 force-pushed the add-vllm-ray-inference-server branch from e0daf7f to d98e693 Compare November 12, 2026 06:17
…Server page

Add a "Partner results: Eugo" section before Support: the start-up
time and start-up reliability of Eugo's next vLLM image (release
pending) against the upstream vLLM image, and a link to the matching
section of the pattern README.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants