With the current GitHub Actions Ubuntu 24.04 runner, exec-ing into a
running container often hangs.  This started happening after the runner
image was upgraded to 20260810.271 which bumped podman 4.9.3 to 5.8.4.

This was reported as a actions/runner-images issue here:
https://github.com/actions/runner-images/issues/14604

Instead of waiting for the image fix, avoid installing the broken
podman, the good version is already installed in the image.  Suggested
as a workaround here:
https://github.com/actions/runner-images/issues/14604#issuecomment-5407848794

Signed-off-by: Dumitru Ceara <[email protected]>
---
 .github/workflows/containers.yml              | 11 +++++--
 .../workflows/ovn-fake-multinode-tests.yml    | 33 ++++++++++++++-----
 .github/workflows/test.yml                    | 11 +++++--
 3 files changed, 43 insertions(+), 12 deletions(-)

diff --git a/.github/workflows/containers.yml b/.github/workflows/containers.yml
index b178091e5b..05875bcaf0 100644
--- a/.github/workflows/containers.yml
+++ b/.github/workflows/containers.yml
@@ -11,7 +11,8 @@ env:
   IMAGE_NAMESPACE: ovn-org
   IMAGE_NAME: ovn-tests
   CONTAINERS_PATH: ./utilities/containers
-  DEPENDENCIES: podman
+  DEPENDENCIES:
+  PREINSTALLED_DEPENDENCIES: podman
 
 jobs:
   container:
@@ -26,8 +27,14 @@ jobs:
       - name: Update APT cache
         run: sudo apt update
 
+      - name: Ensure pre-installed dependencies
+        run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
       - name: Install dependencies
-        run: sudo apt install -y ${{ env.DEPENDENCIES }}
+        run: |
+          if [ -n "${{ env.DEPENDENCIES }}" ]; then
+            sudo apt install -y ${{ env.DEPENDENCIES }}
+          fi
 
       - name: Fix /etc/hosts file
         run: |
diff --git a/.github/workflows/ovn-fake-multinode-tests.yml 
b/.github/workflows/ovn-fake-multinode-tests.yml
index edb9646940..73d1b22cf6 100644
--- a/.github/workflows/ovn-fake-multinode-tests.yml
+++ b/.github/workflows/ovn-fake-multinode-tests.yml
@@ -21,6 +21,8 @@ jobs:
         - { repo: "${{ github.repository }}", branch: "${{ github.ref_name }}" 
}
         - { repo: ovn-org/ovn, branch: "branch-26.03" }
     env:
+      DEPENDENCIES:
+      PREINSTALLED_DEPENDENCIES: podman
       RUNC_CMD: podman
       OS_IMAGE: "fedora:42"
       # https://github.com/actions/runner-images/issues/6282
@@ -51,10 +53,17 @@ jobs:
         repository: ${{ matrix.cfg.repo }}
         ref: ${{ matrix.cfg.branch }}
 
+    - name: Update APT cache
+      run: sudo apt update
+
+    - name: Ensure pre-installed dependencies
+      run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
     - name: Install dependencies
       run: |
-        sudo apt update || true
-        sudo apt-get install -y podman
+        if [ -n "${{ env.DEPENDENCIES }}" ]; then
+          sudo apt install -y ${{ env.DEPENDENCIES }}
+        fi
 
     - name: Fix /etc/hosts file
       run: |
@@ -110,22 +119,30 @@ jobs:
       ENABLE_SSL: no
       CC: gcc
       OPTS: "--disable-ssl"
-      dependencies: |
+      DEPENDENCIES: |
         automake libtool gcc bc libjemalloc2 libjemalloc-dev    \
         libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
         selinux-policy-dev ncat python3-scapy isc-dhcp-server \
-        podman openvswitch-switch libunbound-dev libunwind-dev
+        openvswitch-switch libunbound-dev libunwind-dev
       # https://github.com/actions/runner-images/issues/6282
+      PREINSTALLED_DEPENDENCIES: podman
       XDG_RUNTIME_DIR: ''
 
     steps:
     - name: Check out ovn
       uses: actions/checkout@v6
 
-    - name: install required dependencies
-      run:  |
-        sudo apt update || true
-        sudo apt install -y ${{ env.dependencies }}
+    - name: Update APT cache
+      run: sudo apt update
+
+    - name: Ensure pre-installed dependencies
+      run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
+    - name: Install dependencies
+      run: |
+        if [ -n "${{ env.DEPENDENCIES }}" ]; then
+          sudo apt install -y ${{ env.DEPENDENCIES }}
+        fi
         sudo apt install -y linux-modules-extra-$(uname -r)
 
     - name: Fix /etc/hosts file
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d08f7fdac4..f1a2cd1f7c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -23,7 +23,8 @@ jobs:
     # | !main |  Builds - Ubuntu  | xxxxxxxxxxxxxxxxx |
     # +-------+-------------------+-------------------+
     env:
-      DEPENDENCIES: podman
+      DEPENDENCIES:
+      PREINSTALLED_DEPENDENCIES: podman
     name: Prepare container
     if: github.repository_owner == 'ovn-org' || github.event_name != 'schedule'
     runs-on: ubuntu-24.04
@@ -34,8 +35,14 @@ jobs:
       - name: Update APT cache
         run: sudo apt update
 
+      - name: Ensure pre-installed dependencies
+        run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
       - name: Install dependencies
-        run: sudo apt install -y ${{ env.DEPENDENCIES }}
+        run: |
+          if [ -n "${{ env.DEPENDENCIES }}" ]; then
+            sudo apt install -y ${{ env.DEPENDENCIES }}
+          fi
 
       - name: Fix /etc/hosts file
         run: |
-- 
2.55.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to