Skip to content

[Cherry-pick] Backport RHEL/UBI Dockerfile improvements to releases/v0.15.1#1049

Merged
wpyszka merged 7 commits into
releases/v0.15.1from
pwolsza/cherry-RH-build-to-0.15.1
Feb 26, 2026
Merged

[Cherry-pick] Backport RHEL/UBI Dockerfile improvements to releases/v0.15.1#1049
wpyszka merged 7 commits into
releases/v0.15.1from
pwolsza/cherry-RH-build-to-0.15.1

Conversation

@PatrykWo
Copy link
Copy Markdown
Collaborator

Summary

This PR cherry-picks all RHEL/UBI Dockerfile changes merged to main after releases/v0.15.1 into the v0.15.1 release branch.

Cherry-picked PRs

PR Commit Description
#923 6d15fdc [GAUDISW-244821] Modify UBI docker to support both internal and external builds
#811 a0a0d36 Fix reported version of vllm
#713 40a425f Create UBI based vLLM docker build instructions
#974 6db03ad [GADC-941] Add libfdt-devel (new habanalabs-thunk dependency) to UBI Dockerfile
#971 a3855ac [GAUDISW-246357] UBI images improvements
#1008 b3b2fb3 Fix Dockerfile for RHEL 9.6 build by updating package installation order

Key changes in .cd/Dockerfile.rhel.ubi.vllm

  • Added new build args: OS_VERSION, OS_STRING, PT_MODULES_REPO_NAME, PT_PACKAGE_NAME_NON_DEFAULT_PYTHON_SUBSTRING, PYPI_INDEX_URL, HABANA_RPM_REPO_PATH
  • Support SYNAPSE_REVISION=latest (auto-detects newest available revision)
  • Detected Synapse revision stored in /etc/habanalabs/synapse_revision for use across stages
  • dnf install uses --allowerasing throughout; openssl-fips-provider-so removal has || true to support RHEL 9.4
  • Added packages: libomp, libjpeg-turbo-devel (replaces libjpeg-devel), libfdt-devel
  • pip calls use --no-cache-dir
  • vLLM install: replaced use_existing_torch.py with pip install -r <(sed '/^torch/d' requirements/build.txt)
  • pip check added after installation
  • Final stage renamed to AS vllm-openai
  • OS_STRING is now parametric (supports both RHEL 9.4 and 9.6)

mmuszynskihabana and others added 6 commits February 26, 2026 11:50
…nal builds (#923)

- parametrize all that's different internally and externally, e.g.
locations of RPM packages, pypi indexes
- add libomp package which is now required during pytorch modules
installation
- add support for RHEL 9.4 builds, handle minor differences between 9.4
and 9.6

Signed-off-by: Michal Muszynski <mmuszynski@habana.ai>
(cherry picked from commit 6d15fdc)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
Using vLLM python script to remove pytorch modifies requirements files
which changes the reported vLLM version after build.

---------

Signed-off-by: Adam Ghandoura <adam.ghandoura@intel.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Iryna Boiko <iboiko@habana.ai>
Co-authored-by: Patryk Wolsza <patryk.wolsza@intel.com>
(cherry picked from commit a0a0d36)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
Minor change in the docker file to build from root directory.

---------

Signed-off-by: Adam Ghandoura <adam.ghandoura@intel.com>
Signed-off-by: mhelf-intel <monika.helfer@intel.com>
Co-authored-by: aghandoura <adam.ghandoura@gmail.com>
Co-authored-by: mhelf-intel <monika.helfer@intel.com>
(cherry picked from commit 40a425f)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
…dockerfile (#974)

Signed-off-by: Michal Muszynski <michal.muszynski@intel.com>
(cherry picked from commit 6db03ad)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
- Use pip check to verify python dependencies during build
- Use no-cache to reduce the docker image size
- Allow using `latest` in sysnapse revision

- [x] TODO remove CRB
- [x] Test the changes

More changes to check and implement:

- [x] 1) Around line 46, is this RUN dnf install -y
python3-dnf-plugin-versionlock. It needs to start off with dnf -y update
to pull in all updates before centos/epel repos get installed.

- [x] 2) At line 62, it tries to install libjpeg-devel. The replacement
on RHEL 9 is libjpeg-turbo-devel. It’s a drop in replacement that runs
even faster. And it is in the main UBI repo and not epel.

- [x] 3) Down around line 130, is a dnf -y update. Delete this block as
this will pull in all kinds of Centos contamination.

- [x] 4) Not strictly required, but at line 139, make it FROM
gaudi-pytorch as vllm-openai to match other vllm images.

- [x] 5) At line 153, there is another dnf -y update, remove it for the
same reason as #3

- [x] retest

---------

Signed-off-by: Adam Ghandoura <adam.ghandoura@intel.com>
Co-authored-by: Michał Kuligowski <michal.kuligowski@intel.com>
Co-authored-by: Agata Dobrzyniewicz <160237065+adobrzyn@users.noreply.github.com>
Co-authored-by: Patryk Wolsza <patryk.wolsza@intel.com>
(cherry picked from commit a3855ac)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
…der (#1008)

Fix the issue is in the first RUN command. The dnf -y update runs before
versionlock is installed and applied, so redhat-release gets updated to
9.7 before it can be locked.

Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
(cherry picked from commit b3b2fb3)
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
@PatrykWo PatrykWo force-pushed the pwolsza/cherry-RH-build-to-0.15.1 branch from fa932e8 to 44be08f Compare February 26, 2026 09:51
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
@PatrykWo
Copy link
Copy Markdown
Collaborator Author

@mmuszynskihabana , @ghandoura this is cherry-pick of changes from the main to release branch based on diff between branches.
Please approve when everything looks OK.

@mmuszynskihabana
Copy link
Copy Markdown
Contributor

@mmuszynskihabana , @ghandoura this is cherry-pick of changes from the main to release branch based on diff between branches. Please approve when everything looks OK.

Looks good from CD perspective. We always provide a commit hash for VLLM_GAUDI_COMMIT as an argument for docker build.

In some other use cases, the user will need to overwrite the default value until a tag 'v0.15.1' is created in vllm-gaudi repo.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown
Collaborator

@wpyszka wpyszka left a comment

Choose a reason for hiding this comment

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

approved for 0.15.1

@wpyszka wpyszka merged commit 12ecf93 into releases/v0.15.1 Feb 26, 2026
21 of 22 checks passed
PatrykWo added a commit that referenced this pull request Feb 26, 2026
…0.15.1 (#1049)

This PR cherry-picks all RHEL/UBI Dockerfile changes merged to `main`
after `releases/v0.15.1` into the v0.15.1 release branch.

| PR | Commit | Description |
|----|--------|-------------|
| [#923](#923) |
`6d15fdc` | [GAUDISW-244821] Modify UBI docker to support both internal
and external builds |
| [#811](#811) |
`a0a0d36` | Fix reported version of vllm |
| [#713](#713) |
`40a425f` | Create UBI based vLLM docker build instructions |
| [#974](#974) |
`6db03ad` | [GADC-941] Add libfdt-devel (new habanalabs-thunk
dependency) to UBI Dockerfile |
| [#971](#971) |
`a3855ac` | [GAUDISW-246357] UBI images improvements |
| [#1008](#1008) |
`b3b2fb3` | Fix Dockerfile for RHEL 9.6 build by updating package
installation order |

- Added new build args: `OS_VERSION`, `OS_STRING`,
`PT_MODULES_REPO_NAME`, `PT_PACKAGE_NAME_NON_DEFAULT_PYTHON_SUBSTRING`,
`PYPI_INDEX_URL`, `HABANA_RPM_REPO_PATH`
- Support `SYNAPSE_REVISION=latest` (auto-detects newest available
revision)
- Detected Synapse revision stored in `/etc/habanalabs/synapse_revision`
for use across stages
- `dnf install` uses `--allowerasing` throughout;
`openssl-fips-provider-so` removal has `|| true` to support RHEL 9.4
- Added packages: `libomp`, `libjpeg-turbo-devel` (replaces
`libjpeg-devel`), `libfdt-devel`
- `pip` calls use `--no-cache-dir`
- vLLM install: replaced `use_existing_torch.py` with `pip install -r
<(sed '/^torch/d' requirements/build.txt)`
- `pip check` added after installation
- Final stage renamed to `AS vllm-openai`
- `OS_STRING` is now parametric (supports both RHEL 9.4 and 9.6)

---------

Signed-off-by: Michal Muszynski <mmuszynski@habana.ai>
Signed-off-by: PatrykWo <patryk.wolsza@intel.com>
Signed-off-by: Adam Ghandoura <adam.ghandoura@intel.com>
Signed-off-by: mhelf-intel <monika.helfer@intel.com>
Signed-off-by: Michal Muszynski <michal.muszynski@intel.com>
Co-authored-by: Michal Muszynski <141021743+mmuszynskihabana@users.noreply.github.com>
Co-authored-by: Adam Ghandoura <adam.ghandoura@intel.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Iryna Boiko <iboiko@habana.ai>
Co-authored-by: aghandoura <adam.ghandoura@gmail.com>
Co-authored-by: mhelf-intel <monika.helfer@intel.com>
Co-authored-by: Michał Kuligowski <michal.kuligowski@intel.com>
Co-authored-by: Agata Dobrzyniewicz <160237065+adobrzyn@users.noreply.github.com>
@PatrykWo PatrykWo review requested due to automatic review settings March 23, 2026 20:39
@PatrykWo PatrykWo deleted the pwolsza/cherry-RH-build-to-0.15.1 branch April 2, 2026 12:00
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.

5 participants