Skip to content

Commit 4b2c1d9

Browse files
authored
Merge pull request opendatahub-io#591 from harshad16/sync-may14-main
Sync red-hat-data-services:main with odh:main
2 parents 8e41d5c + 166b9d9 commit 4b2c1d9

File tree

150 files changed

+16719
-35106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+16719
-35106
lines changed

.github/workflows/build-notebooks-TEMPLATE.yaml

Lines changed: 66 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
# for bin/buildinputs in scripts/sandbox.py
8787
- uses: actions/setup-go@v5
8888
with:
89-
cache-dependency-path: "**/*.sum"
89+
cache-dependency-path: "scripts/buildinputs/go.sum"
9090

9191
- run: sudo apt-get update
9292

@@ -335,7 +335,7 @@ jobs:
335335
- name: Run Testcontainers container tests (in PyTest)
336336
run: |
337337
set -Eeuxo pipefail
338-
uv run pytest --capture=fd tests/containers -m 'not openshift' --image="${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}"
338+
uv run pytest --capture=fd tests/containers -m 'not openshift and not cuda and not rocm' --image="${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}"
339339
env:
340340
DOCKER_HOST: "unix:///var/run/podman/podman.sock"
341341
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE: "/var/run/podman/podman.sock"
@@ -379,20 +379,23 @@ jobs:
379379
sudo apt-get update
380380
sudo apt-get install -y software-properties-common curl
381381
382+
# https://github.com/cri-o/packaging?tab=readme-ov-file#distributions-using-deb-packages
383+
382384
curl -fsSL https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/Release.key | \
383385
sudo gpg --dearmor --batch --yes -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
384386
385387
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/ /" | \
386388
sudo tee /etc/apt/sources.list.d/kubernetes.list
387389
388-
curl -fsSL https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/Release.key | \
390+
curl -fsSL https://download.opensuse.org/repositories/isv:/cri-o:/stable:/$CRIO_VERSION/deb/Release.key | \
389391
sudo gpg --dearmor --batch --yes -o /etc/apt/keyrings/cri-o-apt-keyring.gpg
390392
391-
echo "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/ /" | \
393+
echo "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://download.opensuse.org/repositories/isv:/cri-o:/stable:/$CRIO_VERSION/deb/ /" | \
392394
sudo tee /etc/apt/sources.list.d/cri-o.list
393395
394396
sudo apt-get update
395-
sudo apt-get install -y cri-o kubelet kubeadm kubectl
397+
# [ERROR FileExisting-conntrack]: conntrack not found in system path
398+
sudo apt-get install -y cri-o kubelet kubeadm kubectl conntrack
396399
397400
# make use of /etc/cni/net.d/11-crio-ipv4-bridge.conflist so we don't
398401
# need a pod network and just use the default bridge
@@ -406,8 +409,12 @@ jobs:
406409
407410
sudo systemctl start crio.service
408411
env:
409-
CRIO_VERSION: v1.30
410-
KUBERNETES_VERSION: v1.30
412+
CRIO_VERSION: v1.32
413+
# This has to be kept in sync with the packages above, otherwise
414+
# [ERROR KubeletVersion]: the kubelet version is higher than the control plane version.
415+
# This is not a supported version skew and may lead to a malfunctional cluster.
416+
# Kubelet version: "1.33.0" Control plane version: "1.30.12"
417+
KUBERNETES_VERSION: v1.33
411418

412419
- name: Show crio debug data (on failure)
413420
if: ${{ failure() && steps.have-tests.outputs.tests == 'true' }}
@@ -464,10 +471,6 @@ jobs:
464471
# Once you have found the failing container, you can inspect its logs with:
465472
# crictl --runtime-endpoint unix:///var/run/crio/crio.sock logs CONTAINERID
466473
467-
- name: Untaint the master
468-
if: ${{ steps.have-tests.outputs.tests == 'true' }}
469-
run: kubectl taint nodes --all node-role.kubernetes.io/control-plane-
470-
471474
- name: Show nodes status and wait for readiness
472475
if: ${{ steps.have-tests.outputs.tests == 'true' }}
473476
run: |
@@ -505,7 +508,7 @@ jobs:
505508
if: ${{ steps.have-tests.outputs.tests == 'true' }}
506509
run: |
507510
set -Eeuxo pipefail
508-
uv run pytest --capture=fd tests/containers -m 'openshift' --image="${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}"
511+
uv run pytest --capture=fd tests/containers -m 'openshift and not cuda and not rocm' --image="${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}"
509512
env:
510513
# TODO(jdanek): this Testcontainers stuff should not be necessary but currently it has to be there
511514
DOCKER_HOST: "unix:///var/run/podman/podman.sock"
@@ -558,6 +561,56 @@ jobs:
558561
559562
# endregion
560563

564+
# region check-payload for FIPS compliance
565+
566+
- id: check-payload-vars
567+
run: |
568+
echo "GOPATH=${{ github.workspace }}/go-check-payload" >> "$GITHUB_OUTPUT"
569+
working-directory: scripts/check-payload
570+
571+
# for https://github.com/openshift/check-payload to cache the built binary
572+
- uses: actions/setup-go@v5
573+
with:
574+
cache-dependency-path: "scripts/check-payload/go.sum"
575+
env:
576+
GOPATH: ${{ steps.check-payload-vars.outputs.GOPATH }}
577+
578+
# F0512 15:43:03.219076 21568 main.go:294] Error: exec: "oc": executable file not found in $PATH
579+
- name: Install oc client
580+
run: |
581+
# Install the oc client
582+
curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/ocp/stable/openshift-client-linux.tar.gz -o /tmp/openshift-client-linux.tar.gz
583+
tar -xzvf /tmp/openshift-client-linux.tar.gz oc
584+
rm -f /tmp/openshift-client-linux.tar.gz
585+
sudo mv ./oc /usr/local/bin
586+
587+
# perform `podman image mount` ourselves, and then follow the scenario from
588+
# https://github.com/openshift/check-payload/pull/154, that is because
589+
# `check-payload scan image --spec` insists on pulling the image, even if already present,
590+
# that causes trouble when checking PRs (image not pushed) and requires `podman login` as root
591+
# (we run podman as root in the GHA to reuse container storage in Kubernetes)
592+
# use sudo to avoid
593+
# podman error (args=[image mount ghcr.io/...])
594+
# (stderr=Error: cannot use command "podman image mount" with the remote podman client
595+
# and use --preserve-env=PATH to avoid
596+
# F0512 16:31:58.425584 9911 main.go:294] Error: exec: "podman": executable file not found in $PATH
597+
- name: Check image with check-payload for FIPS compliance
598+
run: |
599+
set -Eeuxo pipefail
600+
# resolve podman under current user, not under sudo/root
601+
PODMAN="$(which podman)"
602+
# mount the image
603+
IMAGE_MOUNT_DIR=$(sudo "${PODMAN}" image mount "${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}")
604+
# run the check-payload scan
605+
sudo --preserve-env=PATH go run github.com/openshift/check-payload scan local --path "${IMAGE_MOUNT_DIR}"
606+
# unmount the image
607+
sudo "${PODMAN}" image unmount --all
608+
working-directory: scripts/check-payload
609+
env:
610+
GOPATH: ${{ steps.check-payload-vars.outputs.GOPATH }}
611+
612+
# endregion
613+
561614
# region Typescript (browser) image tests
562615

563616
# https://playwright.dev/docs/ci
@@ -587,7 +640,7 @@ jobs:
587640
--volume ${PODMAN_SOCK}:/var/run/docker.sock \
588641
--volume ${PWD}:/mnt \
589642
--volume /mnt/node_modules \
590-
mcr.microsoft.com/playwright:v1.48.1-noble \
643+
mcr.microsoft.com/playwright:v1.52.0-noble \
591644
/bin/bash <<EOF
592645
set -Eeuxo pipefail
593646
cd /mnt

.github/workflows/build-notebooks-pr-rhel.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414
env:
1515
# language=json
1616
contributors: |
17-
["atheo89", "andyatmiami", "caponetto", "daniellutz", "dibryant", "harshad16", "jesuino", "jiridanek", "jstourac", "paulovmr", "Fiona-Waters"]
17+
["atheo89", "andyatmiami", "caponetto", "daniellutz", "dibryant", "harshad16", "jesuino", "jiridanek", "jstourac", "paulovmr", "Fiona-Waters", "grdryn"]
1818
1919
jobs:
2020
gen:

.github/workflows/code-quality.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,13 @@ jobs:
8282
- name: Validate JSON files (just syntax)
8383
id: validate-json-files
8484
run: |
85+
set -Eeuxo pipefail
86+
8587
type json_verify || sudo apt-get -y install yajl-tools
8688
shopt -s globstar
8789
ret_code=0
8890
echo "-- Checking a regular '*.json' files"
89-
for f in **/*.json; do echo "Checking: '${f}"; echo -n " > "; cat $f | json_verify || ret_code=1; done
91+
for f in **/*.json; do echo "Checking: '${f}"; echo -n " > "; [[ "$(basename "$f")" == "tsconfig.json" ]] && echo "Skipping ${f}" && continue; cat $f | json_verify || ret_code=1; done
9092
echo "-- Checking a 'Pipfile.lock' files"
9193
for f in **/Pipfile.lock; do echo "Checking: '${f}"; echo -n " > "; cat $f | json_verify || ret_code=1; done
9294
echo "-- Checking a '*.ipynb' Jupyter notebook files"

.github/workflows/params-env.yaml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ on: # yamllint disable-line rule:truthy
66
paths:
77
- 'manifests/base/commit.env'
88
- 'manifests/base/params.env'
9+
- 'manifests/base/commit-latest.env'
10+
- 'manifests/base/params-latest.env'
911
- 'ci/check-params-env.sh'
10-
- 'ci/check-runtime-images.sh'
11-
- 'manifests/base/runtime-*-imagestream.yaml'
1212
workflow_dispatch:
1313

1414
permissions:
@@ -27,8 +27,3 @@ jobs:
2727
- name: Validate the 'manifests/base/params.env' file content
2828
run: |
2929
bash ./ci/check-params-env.sh
30-
31-
- name: Validate references for runtime images
32-
id: validate-runtime-images-references
33-
run: |
34-
bash ./ci/check-runtime-images.sh

0 commit comments

Comments
 (0)