Skip to content

[rhoai-2.25] fix(ppc64le): openblas-devel for ONNX numpy builds#2534

Open
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix/rhoai-2.25-onnx-ppc64le-openblas
Open

[rhoai-2.25] fix(ppc64le): openblas-devel for ONNX numpy builds#2534
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix/rhoai-2.25-onnx-ppc64le-openblas

Conversation

@jiridanek

@jiridanek jiridanek commented Jul 17, 2026

Copy link
Copy Markdown
Member

Description

Konflux ppc64le builds of jupyter/runtime datascience fail in onnx-builder when installing ONNX requirements-min.txt: numpy==1.26.0 has no ppc64le wheel on PyPI, so pip builds from sdist and needs BLAS. openblas-builder artifacts are only copied into the final image, not into onnx-builder.

This PR installs openblas-devel via dnf in onnx-builder before pip install -r requirements-min.txt (verified available on UBI 9.6 ppc64le from ubi-9-codeready-builder-rpms).

Depends on / follows #2519 (merged) — pylock-driven ONNX 1.22 + requirements-min.txt. Rebased onto rhoai-2.25 after that merge.

Touches:

  • jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu

How Has This Been Tested?

  • Confirmed on SSH host (podman --platform linux/ppc64le): dnf install -y openblas-devel succeeds on UBI 9.6; pip install numpy==1.26.0 then builds a linux_ppc64le wheel successfully (~15m under qemu).
  • Confirmed PyPI has no numpy==1.26.0 ppc64le wheels.
  • Await Konflux ppc64le jupyter-datascience + runtime-datascience.

Self checklist:

  • Targeted validation before review
  • Konflux-specific changes in Dockerfile.konflux.* for rhoai-2.25

Test plan

  • Konflux: jupyter-datascience ppc64le onnx-builder passes numpy install
  • Konflux: runtime-datascience ppc64le onnx-builder passes numpy install
  • amd64 legs still green (openblas-devel only installed on ppc64le path)

Summary by CodeRabbit

  • Bug Fixes
    • Improved Power (ppc64le) ONNX-related image builds by installing the required OpenBLAS development libraries.
    • Increased build reliability on ppc64le by ensuring BLAS is available for NumPy source builds during setup.
  • Chores
    • Cleaned package-manager metadata before installing Python dependencies to help keep image builds leaner.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 83938730-bcf8-43ba-ad0f-27852f3787e6

📥 Commits

Reviewing files that changed from the base of the PR and between 2e75603 and bf30be0.

📒 Files selected for processing (4)
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
🚧 Files skipped from review as they are similar to previous changes (4)
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu

📝 Walkthrough

Walkthrough

Changes

The four UBI9 Python 3.12 ppc64le ONNX builder stages now install openblas-devel, clean DNF metadata, and document the BLAS requirement before installing Python dependencies.

ONNX ppc64le build prerequisites

Layer / File(s) Summary
Install OpenBLAS before NumPy build
jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu, jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu, runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu, runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
Power-specific onnx-builder stages install openblas-devel and run dnf clean all before installing requirements-min.txt; comments explain the BLAS requirement for NumPy source builds.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested reviewers: daniellutz

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the ppc64le/OpenBLAS fix for ONNX NumPy builds and matches the changed Dockerfiles.
Description check ✅ Passed The description covers the change, motivation, testing, and checklist items, with only minor template completeness gaps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rhoai-2.25-onnx-ppc64le-openblas

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

  • 1 others

Comment @coderabbitai help to get the list of available commands.

@jiridanek

Copy link
Copy Markdown
Member Author

/build-konflux

1 similar comment
@jiridanek

Copy link
Copy Markdown
Member Author

/build-konflux

@jiridanek
jiridanek force-pushed the fix/rhoai-2.25-ws3-arch-matrix branch from 622ceb8 to 76a32de Compare July 21, 2026 16:19
@jiridanek
jiridanek force-pushed the fix/rhoai-2.25-onnx-ppc64le-openblas branch 2 times, most recently from ce66185 to 94f1b11 Compare July 21, 2026 17:05
@jiridanek
jiridanek force-pushed the fix/rhoai-2.25-ws3-arch-matrix branch 3 times, most recently from 36c7a55 to cba986d Compare July 22, 2026 09:18
Base automatically changed from fix/rhoai-2.25-ws3-arch-matrix to rhoai-2.25 July 22, 2026 10:01
@jiridanek
jiridanek force-pushed the fix/rhoai-2.25-onnx-ppc64le-openblas branch from 94f1b11 to 2e75603 Compare July 22, 2026 10:14
@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign jiridanek for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jiridanek

Copy link
Copy Markdown
Member Author

/build-konflux

@jiridanek jiridanek changed the title fix(ppc64le): openblas-devel for ONNX numpy builds [rhoai-2.25] fix(ppc64le): openblas-devel for ONNX numpy builds Jul 22, 2026
requirements-min.txt pins numpy==1.26.0, which has no ppc64le wheel on
PyPI, so pip builds from sdist and needs BLAS headers. Install
openblas-devel in onnx-builder before pip install (jupyter + runtime).

Co-authored-by: Cursor <cursoragent@cursor.com>
@jiridanek
jiridanek force-pushed the fix/rhoai-2.25-onnx-ppc64le-openblas branch from 2e75603 to bf30be0 Compare July 22, 2026 12:53
@jiridanek

Copy link
Copy Markdown
Member Author

/build-konflux

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.

1 participant