From daf9b24ab8714936fe36e8f3df48894b71b5cc72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jiri=20Dan=C4=9Bk?= Date: Wed, 19 Nov 2025 12:32:38 +0100 Subject: [PATCH 1/3] RHAIENG-948: chore(build-args): odh base image references to use c9s images instead of ubi9 (#3020) This is to align ODH with AIPCC bases which use RHEL. Therefore, ODH should use CentOS Stream. --- codeserver/ubi9-python-3.12/build-args/cpu.conf | 2 +- jupyter/datascience/ubi9-python-3.12/build-args/cpu.conf | 2 +- jupyter/minimal/ubi9-python-3.12/build-args/cpu.conf | 4 ++-- jupyter/minimal/ubi9-python-3.12/build-args/cuda.conf | 2 +- jupyter/minimal/ubi9-python-3.12/build-args/rocm.conf | 2 +- .../ubi9-python-3.12/build-args/cuda.conf | 2 +- jupyter/pytorch/ubi9-python-3.12/build-args/cuda.conf | 2 +- jupyter/rocm/pytorch/ubi9-python-3.12/build-args/rocm.conf | 2 +- jupyter/rocm/tensorflow/ubi9-python-3.12/build-args/rocm.conf | 2 +- jupyter/tensorflow/ubi9-python-3.12/build-args/cuda.conf | 2 +- jupyter/trustyai/ubi9-python-3.12/build-args/cpu.conf | 2 +- runtimes/datascience/ubi9-python-3.12/build-args/cpu.conf | 2 +- runtimes/minimal/ubi9-python-3.12/build-args/cpu.conf | 2 +- .../rocm-tensorflow/ubi9-python-3.12/build-args/rocm.conf | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/codeserver/ubi9-python-3.12/build-args/cpu.conf b/codeserver/ubi9-python-3.12/build-args/cpu.conf index cc7c73581a..47605729ac 100644 --- a/codeserver/ubi9-python-3.12/build-args/cpu.conf +++ b/codeserver/ubi9-python-3.12/build-args/cpu.conf @@ -1 +1 @@ -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/jupyter/datascience/ubi9-python-3.12/build-args/cpu.conf b/jupyter/datascience/ubi9-python-3.12/build-args/cpu.conf index cc7c73581a..47605729ac 100644 --- a/jupyter/datascience/ubi9-python-3.12/build-args/cpu.conf +++ b/jupyter/datascience/ubi9-python-3.12/build-args/cpu.conf @@ -1 +1 @@ -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/jupyter/minimal/ubi9-python-3.12/build-args/cpu.conf b/jupyter/minimal/ubi9-python-3.12/build-args/cpu.conf index c10af38d45..5ccf6d512d 100644 --- a/jupyter/minimal/ubi9-python-3.12/build-args/cpu.conf +++ b/jupyter/minimal/ubi9-python-3.12/build-args/cpu.conf @@ -1,2 +1,2 @@ -# Base Image : UBI 9 with Python 3.12 -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +# Base Image : c9s with Python 3.12 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/jupyter/minimal/ubi9-python-3.12/build-args/cuda.conf b/jupyter/minimal/ubi9-python-3.12/build-args/cuda.conf index a101ee1855..ee957f7643 100644 --- a/jupyter/minimal/ubi9-python-3.12/build-args/cuda.conf +++ b/jupyter/minimal/ubi9-python-3.12/build-args/cuda.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-ubi9:v12.8 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-c9s:v12.8 diff --git a/jupyter/minimal/ubi9-python-3.12/build-args/rocm.conf b/jupyter/minimal/ubi9-python-3.12/build-args/rocm.conf index ad78b735dd..33fbb8b940 100644 --- a/jupyter/minimal/ubi9-python-3.12/build-args/rocm.conf +++ b/jupyter/minimal/ubi9-python-3.12/build-args/rocm.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-ubi9:v6.3 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-c9s:v6.3 diff --git a/jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf b/jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf index a101ee1855..ee957f7643 100644 --- a/jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf +++ b/jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-ubi9:v12.8 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-c9s:v12.8 diff --git a/jupyter/pytorch/ubi9-python-3.12/build-args/cuda.conf b/jupyter/pytorch/ubi9-python-3.12/build-args/cuda.conf index a101ee1855..ee957f7643 100644 --- a/jupyter/pytorch/ubi9-python-3.12/build-args/cuda.conf +++ b/jupyter/pytorch/ubi9-python-3.12/build-args/cuda.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-ubi9:v12.8 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-c9s:v12.8 diff --git a/jupyter/rocm/pytorch/ubi9-python-3.12/build-args/rocm.conf b/jupyter/rocm/pytorch/ubi9-python-3.12/build-args/rocm.conf index ad78b735dd..33fbb8b940 100644 --- a/jupyter/rocm/pytorch/ubi9-python-3.12/build-args/rocm.conf +++ b/jupyter/rocm/pytorch/ubi9-python-3.12/build-args/rocm.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-ubi9:v6.3 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-c9s:v6.3 diff --git a/jupyter/rocm/tensorflow/ubi9-python-3.12/build-args/rocm.conf b/jupyter/rocm/tensorflow/ubi9-python-3.12/build-args/rocm.conf index ad78b735dd..33fbb8b940 100644 --- a/jupyter/rocm/tensorflow/ubi9-python-3.12/build-args/rocm.conf +++ b/jupyter/rocm/tensorflow/ubi9-python-3.12/build-args/rocm.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-ubi9:v6.3 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-c9s:v6.3 diff --git a/jupyter/tensorflow/ubi9-python-3.12/build-args/cuda.conf b/jupyter/tensorflow/ubi9-python-3.12/build-args/cuda.conf index a101ee1855..ee957f7643 100644 --- a/jupyter/tensorflow/ubi9-python-3.12/build-args/cuda.conf +++ b/jupyter/tensorflow/ubi9-python-3.12/build-args/cuda.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-ubi9:v12.8 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cuda-py312-c9s:v12.8 diff --git a/jupyter/trustyai/ubi9-python-3.12/build-args/cpu.conf b/jupyter/trustyai/ubi9-python-3.12/build-args/cpu.conf index cc7c73581a..47605729ac 100644 --- a/jupyter/trustyai/ubi9-python-3.12/build-args/cpu.conf +++ b/jupyter/trustyai/ubi9-python-3.12/build-args/cpu.conf @@ -1 +1 @@ -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/runtimes/datascience/ubi9-python-3.12/build-args/cpu.conf b/runtimes/datascience/ubi9-python-3.12/build-args/cpu.conf index cc7c73581a..47605729ac 100644 --- a/runtimes/datascience/ubi9-python-3.12/build-args/cpu.conf +++ b/runtimes/datascience/ubi9-python-3.12/build-args/cpu.conf @@ -1 +1 @@ -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/runtimes/minimal/ubi9-python-3.12/build-args/cpu.conf b/runtimes/minimal/ubi9-python-3.12/build-args/cpu.conf index cc7c73581a..47605729ac 100644 --- a/runtimes/minimal/ubi9-python-3.12/build-args/cpu.conf +++ b/runtimes/minimal/ubi9-python-3.12/build-args/cpu.conf @@ -1 +1 @@ -BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest +BASE_IMAGE=quay.io/opendatahub/odh-base-image-cpu-py312-c9s:latest diff --git a/runtimes/rocm-tensorflow/ubi9-python-3.12/build-args/rocm.conf b/runtimes/rocm-tensorflow/ubi9-python-3.12/build-args/rocm.conf index ad78b735dd..33fbb8b940 100644 --- a/runtimes/rocm-tensorflow/ubi9-python-3.12/build-args/rocm.conf +++ b/runtimes/rocm-tensorflow/ubi9-python-3.12/build-args/rocm.conf @@ -1 +1 @@ -BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-ubi9:v6.3 +BASE_IMAGE=quay.io/opendatahub/odh-base-image-rocm-py312-c9s:v6.3 From ea88b107658df394f22acb63f3e60b214aab4f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jiri=20Dan=C4=9Bk?= Date: Wed, 19 Nov 2025 13:17:20 +0100 Subject: [PATCH 2/3] update base_image_test.py to skip checking uid as it does not matter on openshift (#3020) --- tests/containers/base_image_test.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/containers/base_image_test.py b/tests/containers/base_image_test.py index 213c9eb043..e8529b2ec8 100644 --- a/tests/containers/base_image_test.py +++ b/tests/containers/base_image_test.py @@ -233,7 +233,7 @@ def test_file_permissions(self, image: str, subtests: pytest_subtests.SubTests): expected_uid = "1001" # default expected_gid = "0" # root # Directories to assert permissions and ownerships as we did in ODS-CI - directories_to_check: list[str] = [ + directories_to_check: list[list[str]] = [ [f"{app_root_path}/lib", "775", expected_gid, expected_uid], ] if not utils.is_rstudio_image(image): @@ -243,10 +243,11 @@ def test_file_permissions(self, image: str, subtests: pytest_subtests.SubTests): def test_fn(container: testcontainers.core.container.DockerContainer): for item in directories_to_check: with subtests.test(f"Checking permissions of the: {item[0]}"): - _, output = container.exec(["stat", "--format='%a:%g:%u'", f"{item[0]}"]) + # ignore `:%u`, it does not matter what the uid is, it's the gid that is nonrandom on openshift + _, output = container.exec(["stat", "--format='%a:%g'", f"{item[0]}"]) logging.debug(output.decode()) cleaned_output = output.decode().strip().strip("'") - assert cleaned_output == f"{item[1]}:{item[2]}:{item[3]}" + assert cleaned_output == f"{item[1]}:{item[2]}" self._run_test(image=image, test_fn=test_fn) From 71d05251ed71f638a79acca0554c09c99cfa9f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jiri=20Dan=C4=9Bk?= Date: Thu, 13 Nov 2025 07:50:16 +0100 Subject: [PATCH 3/3] RHAIENG-948: remove UBI 9 repository injection across all Dockerfiles (#3020) ``` + dnf install -y perl mesa-libGL skopeo gcc gcc-c++ make openssl-devel autoconf automake libtool cmake python3-devel pybind11-devel openblas-devel unixODBC-devel Updating Subscription Management repositories. Red Hat Universal Base Image 9 (RPMs) - BaseOS 1.4 MB/s | 433 kB 00:00 Red Hat Universal Base Image 9 (RPMs) - AppStre 6.4 MB/s | 2.2 MB 00:00 Red Hat Universal Base Image 9 (RPMs) - CodeRea 683 kB/s | 174 kB 00:00 Package mesa-libGL-24.2.8-3.el9_6.s390x is already installed. Package skopeo-2:1.20.0-1.el9.s390x is already installed. Package gcc-11.5.0-11.el9.s390x is already installed. Error: Problem: package mesa-dri-drivers-25.0.7-3.el9_7.s390x from ubi-9-appstream-rpms requires libLLVM.so.20.1()(64bit), but none of the providers can be installed - package mesa-dri-drivers-25.0.7-3.el9_7.s390x from ubi-9-appstream-rpms requires libLLVM.so.20.1(LLVM_20.1)(64bit), but none of the providers can be installed - cannot install both llvm-libs-20.1.8-3.el9.s390x from ubi-9-appstream-rpms and llvm-libs-19.1.7-2.el9.s390x from @System - package mesa-libGL-25.0.7-3.el9_7.s390x from ubi-9-appstream-rpms requires libgallium-25.0.7.so()(64bit), but none of the providers can be installed ... ``` --- codeserver/ubi9-python-3.12/Dockerfile.cpu | 13 ------------- jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu | 8 -------- jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu | 5 ----- jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda | 8 -------- jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm | 8 -------- .../ubi9-python-3.12/Dockerfile.cuda | 8 -------- jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda | 8 -------- .../rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm | 8 -------- .../tensorflow/ubi9-python-3.12/Dockerfile.rocm | 8 -------- jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda | 8 -------- jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu | 8 -------- rstudio/rhel9-python-3.12/Dockerfile.cpu | 9 --------- rstudio/rhel9-python-3.12/Dockerfile.cuda | 9 --------- .../datascience/ubi9-python-3.12/Dockerfile.cpu | 8 -------- runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu | 8 -------- .../ubi9-python-3.12/Dockerfile.cuda | 8 -------- runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda | 8 -------- .../rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm | 8 -------- .../ubi9-python-3.12/Dockerfile.rocm | 8 -------- .../tensorflow/ubi9-python-3.12/Dockerfile.cuda | 8 -------- 20 files changed, 164 deletions(-) diff --git a/codeserver/ubi9-python-3.12/Dockerfile.cpu b/codeserver/ubi9-python-3.12/Dockerfile.cpu index 49148fe508..f64e5d194a 100644 --- a/codeserver/ubi9-python-3.12/Dockerfile.cpu +++ b/codeserver/ubi9-python-3.12/Dockerfile.cpu @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # rpm-base # #################### @@ -18,11 +15,6 @@ WORKDIR /root ENV HOME=/root -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ARG CODESERVER_SOURCE_CODE=codeserver/ubi9-python-3.12 ARG NODE_VERSION=22.18.0 @@ -78,11 +70,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu b/jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu index d9a4f0c3a2..e519ebcc89 100644 --- a/jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu +++ b/jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -47,11 +44,6 @@ WORKDIR /opt/app-root/bin USER root ARG TARGETARCH -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu b/jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu index f287627535..a9d4310c16 100644 --- a/jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu +++ b/jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu @@ -16,11 +16,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda b/jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda index b62fb96d30..7b28b00a34 100644 --- a/jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda +++ b/jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cuda-base # #################### @@ -18,11 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm b/jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm index b0349e25af..f68f7276b0 100644 --- a/jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm +++ b/jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # rocm-base # #################### @@ -16,11 +13,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda b/jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda index 333bc36d11..1dc85d732c 100644 --- a/jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda +++ b/jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -34,11 +31,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda b/jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda index 7b59d5c4a5..3f898fffda 100644 --- a/jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda +++ b/jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -34,11 +31,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm b/jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm index 96a1e9add3..e7f6dae033 100644 --- a/jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm +++ b/jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -32,11 +29,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm b/jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm index 195468e7a9..76f4430b83 100644 --- a/jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm +++ b/jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -32,11 +29,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda b/jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda index 4ae84499eb..d669e9217d 100644 --- a/jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda +++ b/jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -34,11 +31,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu b/jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu index 82e6663e58..384508e587 100644 --- a/jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu +++ b/jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - ###################################################### # mongocli-builder (build stage only, not published) # ###################################################### @@ -57,11 +54,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER root -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/rstudio/rhel9-python-3.12/Dockerfile.cpu b/rstudio/rhel9-python-3.12/Dockerfile.cpu index d89e199ab3..58c19ef1d7 100644 --- a/rstudio/rhel9-python-3.12/Dockerfile.cpu +++ b/rstudio/rhel9-python-3.12/Dockerfile.cpu @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cpu-base # #################### @@ -18,12 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER root -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo -COPY --from=ubi-repos /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/rstudio/rhel9-python-3.12/Dockerfile.cuda b/rstudio/rhel9-python-3.12/Dockerfile.cuda index 58a5373db3..380a1db174 100644 --- a/rstudio/rhel9-python-3.12/Dockerfile.cuda +++ b/rstudio/rhel9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cuda-base # #################### @@ -18,12 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER root -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo -COPY --from=ubi-repos /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu b/runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu index 67b6e1b671..94fd2ad841 100644 --- a/runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu +++ b/runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cpu-base # #################### @@ -18,11 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ARG TARGETARCH ### BEGIN upgrade first to avoid fixable vulnerabilities diff --git a/runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu b/runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu index cc7d65b0f5..22c68be400 100644 --- a/runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu +++ b/runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cpu-base # #################### @@ -16,11 +13,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda b/runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda index ff6768fee8..86879ba714 100644 --- a/runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda +++ b/runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cuda-base # #################### @@ -18,11 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda b/runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda index ae58a2e6ea..9b47f7de0d 100644 --- a/runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda +++ b/runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cuda-base # #################### @@ -18,11 +15,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm b/runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm index df985daca6..2d7009768e 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm +++ b/runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # rocm-base # #################### @@ -16,11 +13,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm b/runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm index c61687f6e3..b94bc68cf5 100644 --- a/runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm +++ b/runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm @@ -3,9 +3,6 @@ ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # rocm-base # #################### @@ -16,11 +13,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF' diff --git a/runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda b/runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda index 4e483e21dc..ce8dab2d15 100644 --- a/runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda +++ b/runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda @@ -5,9 +5,6 @@ ARG TARGETARCH ######################### ARG BASE_IMAGE -# External image alias for UBI repository configuration -FROM registry.access.redhat.com/ubi9/ubi AS ubi-repos - #################### # cuda-base # #################### @@ -20,11 +17,6 @@ WORKDIR /opt/app-root/bin # OS Packages needs to be installed as root USER 0 -# Inject the official UBI 9 repository configuration into the AIPCC base image. -# The Quay-based AIPCC image is "repo-less" by default (https://gitlab.com/redhat/rhel-ai/core/base-images/app#repositories), so dnf cannot upgrade or install packages. -# By copying ubi.repo from the public UBI 9 image, we enable package management for upgrades and installations. -COPY --from=ubi-repos /etc/yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo - ### BEGIN upgrade first to avoid fixable vulnerabilities # If we have a Red Hat subscription prepared, refresh it RUN /bin/bash <<'EOF'