Due to https://github.com/actions/runner-images/issues/14473 our CI is
currently permafailing because podman containers (used by the various
workflows) fail to run due to the stale crun version installed in
/usr/bin/crun.
Other people facing this issue have decided to use as workaround
manually specifying the podman runtime, e.g.:
OCI_RUNTIME=$(command -v crun)
podman --runtime "$OCI_RUNTIME" run ...
That doesn't really work nicely for us because docker and podman are not
compatible at that level (docker would need additional configuration)
and, at least theoretically, our CI is generic and could be run with
both docker or podman.
Instead, manually install the correct crun version (1.28) in
/usr/bin/crun. We did this before to workaround GitHub runner
issues:
cbf4fc86a195 ("ci: Update crun in GitHub actions runner.")
Signed-off-by: Dumitru Ceara <[email protected]>
---
.ci/linux-util.sh | 12 ++++++++++++
.github/workflows/ovn-fake-multinode-tests.yml | 11 +++++++++++
.github/workflows/ovn-upgrade-tests.yml | 5 +++++
.github/workflows/test.yml | 10 ++++++++++
4 files changed, 38 insertions(+)
diff --git a/.ci/linux-util.sh b/.ci/linux-util.sh
index b5bd1f8c9c..0b42aae9d4 100755
--- a/.ci/linux-util.sh
+++ b/.ci/linux-util.sh
@@ -49,3 +49,15 @@ function disable_apparmor()
sudo aa-teardown || true
sudo systemctl disable --now apparmor.service
}
+
+# XXX This should be removed when the following issue is fixed and the
+# correct crun version is packaged into the runner image.
+# https://github.com/actions/runner-images/issues/14473
+function fixup_crun()
+{
+ crun --version
+ sudo curl -L
"https://github.com/containers/crun/releases/download/1.28/crun-1.28-linux-amd64"
\
+ -o /usr/bin/crun
+ sudo chmod +x /usr/bin/crun
+ echo "New crun version: "$(crun --version)
+}
diff --git a/.github/workflows/ovn-fake-multinode-tests.yml
b/.github/workflows/ovn-fake-multinode-tests.yml
index 0294d89699..edb9646940 100644
--- a/.github/workflows/ovn-fake-multinode-tests.yml
+++ b/.github/workflows/ovn-fake-multinode-tests.yml
@@ -68,6 +68,12 @@ jobs:
disable_apparmor
working-directory: ovn-fake-multinode/ovn
+ - name: Fixup crun
+ run: |
+ . .ci/linux-util.sh
+ fixup_crun
+ working-directory: ovn-fake-multinode/ovn
+
- name: Build ovn-fake-multi-node ${{ matrix.cfg.branch }} image
run: |
set -x
@@ -132,6 +138,11 @@ jobs:
. .ci/linux-util.sh
disable_apparmor
+ - name: Fixup crun
+ run: |
+ . .ci/linux-util.sh
+ fixup_crun
+
- name: Free up disk space
run: |
. .ci/linux-util.sh
diff --git a/.github/workflows/ovn-upgrade-tests.yml
b/.github/workflows/ovn-upgrade-tests.yml
index 8dc1bf7ee9..e1117ed271 100644
--- a/.github/workflows/ovn-upgrade-tests.yml
+++ b/.github/workflows/ovn-upgrade-tests.yml
@@ -59,6 +59,11 @@ jobs:
. .ci/linux-util.sh
disable_apparmor
+ - name: Fixup crun
+ run: |
+ . .ci/linux-util.sh
+ fixup_crun
+
- name: Download container
run: sudo podman pull ghcr.io/ovn-org/ovn-tests:ubuntu
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 64073b228a..d08f7fdac4 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -47,6 +47,11 @@ jobs:
. .ci/linux-util.sh
disable_apparmor
+ - name: Fixup crun
+ run: |
+ . .ci/linux-util.sh
+ fixup_crun
+
- name: Choose image distro
if: github.event_name == 'push' || github.event_name == 'pull_request'
run: |
@@ -171,6 +176,11 @@ jobs:
. .ci/linux-util.sh
disable_apparmor
+ - name: Fixup crun
+ run: |
+ . .ci/linux-util.sh
+ fixup_crun
+
- name: image cache
id: image_cache
uses: actions/cache@v5
--
2.54.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev