Skip to content

Conversation

@daniellutz
Copy link

This PR will synchronize the changes from odh/main into rhds/main.

jstourac and others added 30 commits March 21, 2025 14:29
With the introduction of the 2025.1 images, we changed the way we
install the ROCm on our images. Instead of installing the main `rocm`
metapackage, we install directly just it's subpackages ecluding the
installation of the `migraphx` and `mivisionx` packages to reduce the
size of the result ROCm images. This was a deliberate decision and so we
need to amend the way how to check the ROCm version on our images.

For the record:
* opendatahub-io@0d262e2#diff-8ddc31b6fcd6307008d6abf6aef98768f83a7a94cb09a2eee2b3e1ff04788f20R40-R42
NO-JIRA: fix(ci): update the way we check for the rocm version
…rmissions change caused by a Dockerfile `COPY`

Before:

```
podman run --entrypoint /bin/bash --rm -it 7616b6ee0ff8 -c 'ls -AlFd $VIRTUAL_ENV'
drwxrwxr-x. 1 default root 40 Mar 16 09:57 /opt/app-root/
```

The Dockerfile command causing trouble:

```
USER 0
# Copy extra files to the image.
COPY ${RSTUDIO_SOURCE_CODE}/nginx/root/ /
```

After:

```
podman run --entrypoint /bin/bash --rm -it 237a5692c108 -c 'ls -AlFd $VIRTUAL_ENV'
drwxr-xr-x. 1 root root 38 Mar 14 14:16 /opt/app-root/
```
ISSUE-922: chore(tests/containers): implement retry if port-forwarding fails
RHOAIENG-21691: mitigate undesirable `/opt/app-root` ownership and permissions change caused by a Dockerfile `COPY`
…_rstudio___

NO-JIRA: chore(workbenches): bring in the rhel9 rstudio workbench and docs release notes for easier maintenance in single repository
…BuildConfig chain and build the image directly

The way it was, the second (dependent) build would always fail on

```
[3/3] STEP 33/37: RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && chmod -R g+w /opt/app-root/lib/python3.11/site-packages && fix-permissions /opt/app-root -P
Installing softwares and packages
/bin/sh: line 1: micropipenv: command not found
error: build error: building at STEP "RUN echo "Installing softwares and packages" && micropipenv install && rm -f ./Pipfile.lock && chmod -R g+w /opt/app-root/lib/python3.11/site-packages && fix-permissions /opt/app-root -P": while running runtime: exit status 127
```

This is because both BuildConfigs were building the same `Dockerfile.cuda` (that's obviously wasteful) and the Dockerfile was not idempotent (and still is not).
This adds a simple test to scan our final images for the crucial
directories for their ownership and permissions configuration.
RHOAIENG-21740: Perform filesystem permission check on images
Now we execute on all kustomization directories except the components
ones.
…_config

RHOAIENG-22439: fix(manifests/rstudio): dismantle the broken RStudio BuildConfig chain and build the image directly
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
Co-authored-by: red-hat-konflux[bot] <126015336+red-hat-konflux[bot]@users.noreply.github.com>
[GHA] Enhance the checks for the kustomization.yaml files
With the introduction of the 2025.1 image version, there were some
changes in the expected image size for some of our images. Basically:

1. We included the `skopeo` tool in our images which bumped image size
   by cca 100MB.
2. PyTorch and TensorFlow images now contain the additional CUDA package
   which increase the image size by 1GB roughly.
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
Co-authored-by: red-hat-konflux[bot] <126015336+red-hat-konflux[bot]@users.noreply.github.com>
…) manifests repo up-to-date

This is a proof-of-concept of how things may be done. I do not insist on keeping manifests separate,
although it seems to me that's the only sensible way of doing things.

```
PYTHONPATH=. uv run ci/cached-builds/konflux_generate_component_build_pipelines.py

oc get component --output jsonpath="{.items[*].status.lastPromotedImage}"
```
RHOAIENG-22425: chore(konflux): implement nudging to keep a (separate) manifests repo up-to-date
…patch-1

NO-JIRA: chore(gha): add `Fiona-Waters` to allowlist in build-notebooks-pr-rhel.yaml
…date_reqirements

NO-JIRA: chore(ci): add pre-commit checks for Python code
…t passes (opendatahub-io#1008)

* NO-JIRA: chore(pyright): fix types in the checked code so that Pyright passes

* /Users/jdanek/IdeaProjects/notebooks/tests/containers/socket_proxy.py:129:20 - error: Module cannot be used as a type (reportGeneralTypeIssues)

* /Users/jdanek/IdeaProjects/notebooks/tests/containers/conftest.py:174:40 - error: Expected class but received "(iterable: Iterable[object], /) -> bool" (reportGeneralTypeIssues)

* /Users/jdanek/IdeaProjects/notebooks/tests/containers/conftest.py:174:40 - error: Expected class but received "(iterable: Iterable[object], /) -> bool" (reportGeneralTypeIssues)

* /Users/jdanek/IdeaProjects/notebooks/tests/containers/kubernetes_utils.py:97:32 - error: Attribute type cannot use type variable "T@__init__" scoped to local method (reportGeneralTypeIssues)

* /Users/jdanek/IdeaProjects/notebooks/ci/package_versions.py:63:34 - warning: "TypedDict" cannot be used in this context (reportInvalidTypeForm)
  /Users/jdanek/IdeaProjects/notebooks/ci/package_versions.py:63:52 - warning: "Software" is not defined (reportUndefinedVariable)
  /Users/jdanek/IdeaProjects/notebooks/ci/package_versions.py:63:63 - error: Expected class but received "dict[str, type[str]]" (reportGeneralTypeIssues)
  /Users/jdanek/IdeaProjects/notebooks/ci/package_versions.py:63:63 - warning: Dictionary expression not allowed in type expression (reportInvalidTypeForm)
  /Users/jdanek/IdeaProjects/notebooks/ci/package_versions.py:67:33 - warning: Call expression not allowed in type expression (reportInvalidTypeForm)
github-actions bot and others added 19 commits April 9, 2025 02:37
NO-JIRA: chore - update the default image version in Makefile; add links to our contrib guide
…hub-io#1014)

Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
…uction of them on the Dockerfile (opendatahub-io#943)

* Remove .json files runtimes from DS notebook as well removed the COPY instruction of them on the Dockerfile

* Add runtimes imagestreams on the kustomization

* update after the rebase

* satisfy tekton pipelines
…heck

RHOAIENG-20241: fix the CI check for the runtime image definition
Let's have a 'release' label in our images we build so that we can
easily filter them out. This change includes this update for the:
* local build via Makefile
* konflux build via .tekton pipeline definitions

There is a third place we should update - the openshift-ci job
definitions.
Clean up old code

merge also the updater scripts to one

Update git staff
Merge notebooks digest updater and runtimes updater ghas under one
…d-frame-height

RHOAIENG-20553 - CSS is broken when loading the TensorBoard extension
Follow up to update the commit file properly based on image change
@daniellutz daniellutz requested a review from harshad16 April 17, 2025 20:46
@daniellutz daniellutz self-assigned this Apr 17, 2025
@openshift-ci openshift-ci bot requested a review from jstourac April 17, 2025 20:46
@daniellutz
Copy link
Author

/approve

@openshift-ci
Copy link

openshift-ci bot commented Apr 17, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: daniellutz

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

The pull request process is described 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

@harshad16
Copy link

/lgtm

@openshift-ci openshift-ci bot added the lgtm label Apr 17, 2025
@harshad16 harshad16 merged commit b5cf05d into red-hat-data-services:main Apr 17, 2025
26 of 32 checks passed
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.

6 participants