From e3222733df840c06e5c0684ae786f0087fba8947 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A5=96=E5=BB=BA?= Date: Tue, 16 Jul 2024 13:08:04 +0800 Subject: [PATCH] base: bump ubuntu to 24.04 (#4293) Signed-off-by: zhangzujian --- .github/workflows/build-arm64-image.yaml | 2 +- .../workflows/build-kube-ovn-base-dpdk.yaml | 4 +- .github/workflows/build-kube-ovn-base.yaml | 6 +- .github/workflows/build-kube-ovn-test.yaml | 2 +- .github/workflows/build-windows.yaml | 2 +- .github/workflows/build-x86-image.yaml | 158 +++++++----------- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/lint.yaml | 2 +- .github/workflows/publish.yaml | 2 +- dist/images/Dockerfile.base | 11 +- dist/images/Dockerfile.base-dpdk | 4 +- dist/images/start-ovs.sh | 6 +- 12 files changed, 79 insertions(+), 122 deletions(-) diff --git a/.github/workflows/build-arm64-image.yaml b/.github/workflows/build-arm64-image.yaml index 4d4e4f33273..d20e96aa663 100644 --- a/.github/workflows/build-arm64-image.yaml +++ b/.github/workflows/build-arm64-image.yaml @@ -24,7 +24,7 @@ env: jobs: build: name: Build arm64 - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/build-kube-ovn-base-dpdk.yaml b/.github/workflows/build-kube-ovn-base-dpdk.yaml index 626bf736e54..3bc926fd46f 100644 --- a/.github/workflows/build-kube-ovn-base-dpdk.yaml +++ b/.github/workflows/build-kube-ovn-base-dpdk.yaml @@ -23,7 +23,7 @@ jobs: - release-1.12 - release-1.12-mc name: Build AMD64 - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 if: (github.event.inputs.branch || matrix.branch) == matrix.branch @@ -58,7 +58,7 @@ jobs: needs: - build-amd64 name: push - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 if: (github.event.inputs.branch || matrix.branch) == matrix.branch diff --git a/.github/workflows/build-kube-ovn-base.yaml b/.github/workflows/build-kube-ovn-base.yaml index 54620cbbc02..59029dcf327 100644 --- a/.github/workflows/build-kube-ovn-base.yaml +++ b/.github/workflows/build-kube-ovn-base.yaml @@ -27,7 +27,7 @@ jobs: - release-1.9 - release-1.12-mc name: Build AMD64 - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 if: (github.event.inputs.branch || matrix.branch) == matrix.branch @@ -62,7 +62,7 @@ jobs: - release-1.9 - release-1.12-mc name: Build ARM64 - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 if: (github.event.inputs.branch || matrix.branch) == matrix.branch @@ -105,7 +105,7 @@ jobs: - build-arm64 - build-amd64 name: push - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 if: (github.event.inputs.branch || matrix.branch) == matrix.branch diff --git a/.github/workflows/build-kube-ovn-test.yaml b/.github/workflows/build-kube-ovn-test.yaml index 3315745710c..bac7de0b4bf 100644 --- a/.github/workflows/build-kube-ovn-test.yaml +++ b/.github/workflows/build-kube-ovn-test.yaml @@ -7,7 +7,7 @@ env: jobs: build: name: Build Test - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 6ffc33d297c..c15aa8019bf 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -28,7 +28,7 @@ env: jobs: filter: name: Path Filter - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: build-ovs-ovn: ${{ steps.filter.outputs.windows-ovs-ovn }} build-kube-ovn: ${{ steps.filter.outputs.windows-kube-ovn }} diff --git a/.github/workflows/build-x86-image.yaml b/.github/workflows/build-x86-image.yaml index dd58f3c4c4f..de1ddfe7230 100644 --- a/.github/workflows/build-x86-image.yaml +++ b/.github/workflows/build-x86-image.yaml @@ -30,7 +30,7 @@ env: jobs: build-kube-ovn-base: name: Build kube-ovn-base - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: build-base: ${{ steps.check.outputs.build-base }} steps: @@ -77,7 +77,7 @@ jobs: build-kube-ovn-dpdk-base: name: Build kube-ovn-dpdk-base - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: build-dpdk-base: ${{ steps.check.outputs.build-dpdk-base }} steps: @@ -124,7 +124,7 @@ jobs: build-kube-ovn: name: Build kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: - build-kube-ovn-base - build-kube-ovn-dpdk-base @@ -303,7 +303,7 @@ jobs: build-vpc-nat-gateway: name: Build vpc-nat-gateway - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: jlumbroso/free-disk-space@v1.3.1 with: @@ -330,7 +330,7 @@ jobs: build-e2e-binaries: name: Build E2E Binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 15 steps: - uses: actions/checkout@v4 @@ -409,7 +409,7 @@ jobs: netpol-path-filter: name: Network Policy Path Filter if: github.event_name != 'pull_request' - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: test-netpol: ${{ steps.filter.outputs.kube-ovn-controller }} steps: @@ -446,7 +446,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 25 strategy: fail-fast: false @@ -538,10 +538,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -641,7 +639,7 @@ jobs: - build-kube-ovn - build-e2e-binaries - netpol-path-filter - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 90 strategy: fail-fast: false @@ -730,10 +728,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -828,7 +824,7 @@ jobs: needs: - build-kube-ovn - netpol-path-filter - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 strategy: fail-fast: false @@ -893,10 +889,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -988,7 +982,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 40 strategy: fail-fast: false @@ -1075,10 +1069,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -1180,7 +1172,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -1261,10 +1253,8 @@ jobs: - name: Create kind clusters run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-ovn-ic-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-ovn-ic-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -1339,7 +1329,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 strategy: fail-fast: false @@ -1420,10 +1410,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -1486,7 +1474,7 @@ jobs: chart-test: name: Chart Installation/Uninstallation Test needs: build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -1523,10 +1511,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN id: install @@ -1544,7 +1530,7 @@ jobs: underlay-logical-gateway-installation-test: name: Underlay Logical Gateway Installation Test needs: build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1575,10 +1561,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-dual - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-dual - name: Install Kube-OVN id: install @@ -1594,7 +1578,7 @@ jobs: no-ovn-lb-test: name: Disable OVN LB Test needs: build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1625,10 +1609,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN without LoadBalancer id: install @@ -1646,7 +1628,7 @@ jobs: no-np-test: name: Disable Network Policy Test needs: build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1677,10 +1659,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN id: install @@ -1701,7 +1681,7 @@ jobs: - build-kube-ovn - build-vpc-nat-gateway - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1782,10 +1762,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Multus and Kube-OVN id: install @@ -1846,7 +1824,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1921,10 +1899,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN with webhook id: install @@ -1957,7 +1933,7 @@ jobs: installation-compatibility-test: name: Installation Compatibility Test needs: build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -1990,10 +1966,8 @@ jobs: env: k8s_version: v1.23.17 run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN id: install @@ -2024,7 +1998,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 strategy: fail-fast: false @@ -2116,10 +2090,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-cilium-chaining-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-cilium-chaining-${{ matrix.ip-family }} - name: Install Kube-OVN with Cilium chaining id: install @@ -2186,7 +2158,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 15 strategy: fail-fast: false @@ -2273,10 +2245,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-ha-${{ matrix.ip-family }} - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-ha-${{ matrix.ip-family }} - name: Install Kube-OVN id: install @@ -2320,7 +2290,7 @@ jobs: name: Kube-OVN Submariner Conformance E2E needs: - build-kube-ovn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -2377,10 +2347,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init-ovn-submariner - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init-ovn-submariner - name: Install Kube-OVN and Submariner id: install @@ -2417,7 +2385,7 @@ jobs: - build-kube-ovn - build-vpc-nat-gateway - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 15 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -2498,10 +2466,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN with VPC NAT gateway enabled id: install @@ -2562,7 +2528,7 @@ jobs: needs: - build-kube-ovn - build-e2e-binaries - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 15 steps: - uses: jlumbroso/free-disk-space@v1.3.1 @@ -2636,10 +2602,8 @@ jobs: - name: Create kind cluster run: | - sudo pip3 install jinjanator - sudo --preserve-env=CI PATH=~/.local/bin:$PATH make kind-init - sudo cp -r /root/.kube/ ~/.kube/ - sudo chown -R $(id -un). ~/.kube/ + pipx install jinjanator + make kind-init - name: Install Kube-OVN id: install @@ -2724,7 +2688,7 @@ jobs: - kube-ovn-ha-e2e - kube-ovn-submariner-conformance-e2e if: always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: jlumbroso/free-disk-space@v1.3.1 with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fc5d7432e04..6440d733f13 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -24,7 +24,7 @@ env: jobs: analyze: name: Analyze - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 6a01606c53f..15713d815b7 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -18,7 +18,7 @@ env: jobs: golangci: name: lint - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index fd2d7c3d404..7dab65923dc 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -11,7 +11,7 @@ concurrency: jobs: build: name: Publish Images - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/dist/images/Dockerfile.base b/dist/images/Dockerfile.base index c6584a61f46..b07b6eb73a8 100644 --- a/dist/images/Dockerfile.base +++ b/dist/images/Dockerfile.base @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:experimental -FROM ubuntu:22.04 AS ovs-builder +FROM ubuntu:24.04 AS ovs-builder ARG ARCH ARG LEGACY @@ -82,7 +82,7 @@ RUN mkdir /packages/ && \ cp /usr/src/ovn-*deb /packages && \ cd /packages && rm -f *source* *doc* *datapath* *docker* *vtep* *test* *dev* -FROM ubuntu:22.04 +FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive RUN apt update && apt upgrade -y && apt install ca-certificates python3 hostname libunwind8 netbase \ @@ -116,13 +116,6 @@ RUN curl -sSf -L --retry 3 -o /usr/local/bin/bfdd-control https://github.com/bob curl -sSf -L --retry 3 -o /usr/local/bin/bfdd-beacon https://github.com/bobz965/bfd-binary-for-kube-ovn-cni/releases/download/${BFDD_VERSION}/bfdd-beacon && \ chmod +x /usr/local/bin/bfdd-control /usr/local/bin/bfdd-beacon -RUN curl -sSf -L --retry 3 -O https://launchpad.net/ubuntu/+archive/primary/+files/libipset13_7.17-1ubuntu1_${ARCH}.deb && \ - dpkg -i libipset13_7.17-1ubuntu1_${ARCH}.deb && \ - rm -f libipset13_7.17-1ubuntu1_${ARCH}.deb -RUN curl -sSf -L --retry 3 -O https://launchpad.net/ubuntu/+archive/primary/+files/ipset_7.17-1ubuntu1_${ARCH}.deb && \ - dpkg -i ipset_7.17-1ubuntu1_${ARCH}.deb && \ - rm -f ipset_7.17-1ubuntu1_${ARCH}.deb - RUN --mount=type=bind,target=/packages,from=ovs-builder,source=/packages \ dpkg -i /packages/openvswitch-*.deb /packages/python3-openvswitch*.deb && \ dpkg -i --ignore-depends=openvswitch-switch,openvswitch-common /packages/ovn-*.deb && \ diff --git a/dist/images/Dockerfile.base-dpdk b/dist/images/Dockerfile.base-dpdk index bccb7cda4e0..d8b0cdd0c92 100644 --- a/dist/images/Dockerfile.base-dpdk +++ b/dist/images/Dockerfile.base-dpdk @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:experimental -FROM ubuntu:23.04 AS ovs-builder +FROM ubuntu:24.04 AS ovs-builder ARG ARCH ARG DPDK_VERSION=23.11.1 @@ -87,7 +87,7 @@ RUN mkdir /packages/ && \ cp /usr/src/ovn-*deb /packages && \ cd /packages && rm -f *source* *doc* *datapath* *docker* *vtep* *test* *dev* -FROM ubuntu:23.04 +FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive ENV PIP_BREAK_SYSTEM_PACKAGES=1 diff --git a/dist/images/start-ovs.sh b/dist/images/start-ovs.sh index f802eb2431f..2fd8eddf3bf 100755 --- a/dist/images/start-ovs.sh +++ b/dist/images/start-ovs.sh @@ -16,11 +16,11 @@ echo "OVN_REMOTE_PROBE_INTERVAL is set to $OVN_REMOTE_PROBE_INTERVAL" echo "OVN_REMOTE_OPENFLOW_INTERVAL is set to $OVN_REMOTE_OPENFLOW_INTERVAL" # Check required kernel module -modinfo openvswitch -modinfo geneve +modinfo -m openvswitch +modinfo -m geneve # CentOS 8 might not load iptables module by default, which will hurt nat function -if modinfo ip_tables; then +if modinfo -m ip_tables; then modprobe ip_tables fi