Skip to content

Conversation

@jiridanek
Copy link
Member

@jiridanek jiridanek commented Nov 12, 2025

https://issues.redhat.com/browse/RHAIENG-948

Description

This is to be a fix for

  ERROR: No matching distribution found for micropipenv==1.9.0

https://issues.redhat.com/browse/AIPCC-6811

How Has This Been Tested?

Self checklist (all need to be checked):

  • Ensure that you have run make test (gmake on macOS) before asking for review
  • Changes to everything except Dockerfile.konflux files should be done in odh/notebooks and automatically synced to rhds/notebooks. For Konflux-specific changes, modify Dockerfile.konflux files directly in rhds/notebooks as these require special attention in the downstream repository and flow to the upcoming RHOAI release.

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Summary by CodeRabbit

  • Chores
    • Updated container image definitions across multiple frameworks to include an additional package repository source during dependency installation, enhancing build reliability.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 12, 2025

Walkthrough

This pull request adds an explicit PyPI extra index URL (--extra-index-url https://pypi.org/simple) to pip install commands for micropipenv and uv across multiple Dockerfiles and the source script that generates them. The modification ensures packages are fetched from an additional PyPI index source during image builds.

Changes

Cohort / File(s) Change Summary
Dockerfile CPU variants
codeserver/ubi9-python-3.12/Dockerfile.cpu, jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu, jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu, jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu, rstudio/c9s-python-3.12/Dockerfile.cpu, rstudio/rhel9-python-3.12/Dockerfile.cpu, runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu, runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu
Added --extra-index-url https://pypi.org/simple flag to pip install command for micropipenv and uv
Dockerfile CUDA variants
jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda, jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda, jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda, jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda, rstudio/c9s-python-3.12/Dockerfile.cuda, rstudio/rhel9-python-3.12/Dockerfile.cuda, runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda, runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda, runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda
Added --extra-index-url https://pypi.org/simple flag to pip install command for micropipenv and uv
Dockerfile ROCM variants
jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm, jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm, jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm, runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm, runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm
Added --extra-index-url https://pypi.org/simple flag to pip install command for micropipenv and uv
Dockerfile generation script
scripts/dockerfile_fragments.py
Updated pip install command template to include --extra-index-url https://pypi.org/simple for micropipenv and uv installations

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Homogeneous changes: The modification is identical across all 22 Dockerfiles and the generation script—only a single flag addition to pip install commands
  • Verification points: Confirm the extra index URL is consistently added across all variants and that no syntax errors were introduced in the generation script
  • No logic changes: All modifications are parameter-based with no impact on control flow or error handling

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes issue references and context for the fix, but the testing checklist items remain unchecked and testing details are not completed. Complete the self-checklist by checking all boxes and provide specific testing instructions demonstrating that the micropipenv installation now succeeds with the extra index URL.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding --extra-index-url to micropipenv installation across all Dockerfiles, with relevant issue references.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bdbc234 and f68792f.

📒 Files selected for processing (23)
  • codeserver/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm (1 hunks)
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm (1 hunks)
  • jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm (1 hunks)
  • jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • rstudio/c9s-python-3.12/Dockerfile.cpu (1 hunks)
  • rstudio/c9s-python-3.12/Dockerfile.cuda (1 hunks)
  • rstudio/rhel9-python-3.12/Dockerfile.cpu (1 hunks)
  • rstudio/rhel9-python-3.12/Dockerfile.cuda (1 hunks)
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu (1 hunks)
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm (1 hunks)
  • runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm (1 hunks)
  • runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda (1 hunks)
  • scripts/dockerfile_fragments.py (1 hunks)
🔇 Additional comments (23)
rstudio/rhel9-python-3.12/Dockerfile.cuda (1)

47-47: Change is correct and addresses the issue.

The --extra-index-url https://pypi.org/simple flag is properly positioned before package specifiers, using the official PyPI simple index. Version pins and other flags remain unchanged.

runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda (1)

50-50: Consistent with other Dockerfile updates; no issues.

The modification correctly adds the extra index URL in the same position and format as other updated Dockerfiles in this PR.

rstudio/c9s-python-3.12/Dockerfile.cuda (1)

38-38: Change follows established pattern; syntax correct.

The addition of --extra-index-url https://pypi.org/simple matches the implementation across all other Dockerfiles in this PR.

jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm (1)

64-64: Consistent ROCm variant update; no issues.

The modification correctly applies the extra index URL to the ROCm Dockerfile variant, maintaining consistency with CPU and CUDA variants.

jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda (1)

66-66: LGTM; consistent with PR-wide pattern.

The extra index URL is correctly integrated into the pip install command with proper flag ordering.

runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu (1)

54-54: CPU variant updated correctly; consistent with CUDA/ROCm variants.

The modification is syntactically correct and maintains consistency across all architectural variants (CPU, CUDA, ROCm).

jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu (1)

116-116: Change is correct and properly integrated in complex build stages.

The extra index URL addition is correctly positioned in the cpu-base stage, where it applies consistently across all subsequent stages and architectural variants (s390x, ppc64le, x86_64).

rstudio/rhel9-python-3.12/Dockerfile.cpu (1)

47-47: Final Dockerfile correctly updated; all changes consistent.

The modification successfully applies the extra index URL to this final CPU variant, completing a consistent PR-wide update across all provided Dockerfiles.

Verification Note: The AI summary mentions scripts/dockerfile_fragments.py may also contain related micropipenv/uv pip install commands that should be updated for consistency. Please confirm this file has been reviewed and updated as part of this PR.

jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda (1)

50-50: LGTM — consistent and safe modification.

The addition of --extra-index-url https://pypi.org/simple is syntactically correct and uses the official PyPI simple index. This change is additive and does not disrupt the existing pip resolution strategy.

runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm (1)

48-48: LGTM — consistent with other Dockerfiles in this PR.

Same modification as other files; syntax and URL are correct.

jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm (1)

64-64: LGTM — consistent pattern maintained.

Modification aligns with the uniform approach across all Dockerfiles in this PR.

runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm (1)

48-48: LGTM — consistent modification applied.

Same pattern and syntax as all other Dockerfiles reviewed.

jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm (1)

48-48: LGTM — consistent across all image variants.

Modification follows the established pattern.

rstudio/c9s-python-3.12/Dockerfile.cpu (1)

16-16: LGTM — consistent change across all base variants.

Modification applied uniformly regardless of base OS or architecture.

jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda (1)

66-66: LGTM — uniform fix applied across CUDA variants.

Same modification pattern maintained.

jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu (1)

89-89: LGTM — change applied uniformly across all Dockerfiles.

The modification is syntactically sound and addresses the stated issue consistently.

runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda (1)

50-50: LGTM! Extra index URL resolves package discovery in AIPCC base images.

The addition of --extra-index-url https://pypi.org/simple correctly addresses the package resolution failure mentioned in the PR description. Since AIPCC base images are "repo-less" by default (as noted in the comment above), explicitly specifying PyPI as an extra index ensures micropipenv and uv can be located and installed.

runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda (1)

52-52: LGTM! Consistent fix applied.

The extra index URL addition is correctly applied here, matching the pattern across other Dockerfiles in this PR.

jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu (1)

48-48: LGTM! Fix applied consistently to CPU variant.

The extra index URL is correctly added to the CPU Dockerfile variant, ensuring package resolution works across all build configurations.

jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda (1)

66-66: LGTM! Jupyter CUDA variant updated.

The fix is properly applied to the Jupyter TensorFlow CUDA variant.

runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu (1)

109-109: LGTM! Datascience runtime updated.

The extra index URL is correctly added to the datascience runtime variant.

codeserver/ubi9-python-3.12/Dockerfile.cpu (1)

118-118: LGTM! Code-server variant updated.

The fix is correctly applied to the code-server image variant.

scripts/dockerfile_fragments.py (1)

42-42: LGTM! Generator script updated to maintain consistency.

Both package versions are available on PyPI: micropipenv 1.9.0 (uploaded Jan 23, 2025) and uv 0.8.12 (released Aug 18, 2025). This ensures that future Dockerfiles generated by the script will include the --extra-index-url flag, preventing regression of the package resolution issue.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci bot requested review from atheo89 and daniellutz November 12, 2025 09:02
@openshift-ci openshift-ci bot added size/m and removed size/m labels Nov 12, 2025
@github-actions github-actions bot added the review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel label Nov 12, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 12, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

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 jiridanek merged commit 18a2698 into opendatahub-io:main Nov 12, 2025
36 of 82 checks passed
@jiridanek jiridanek deleted the jd_mcppen branch November 12, 2025 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants