Recently ovn-kubernetes released a new stable version 1.1.0 [0].  A new
stable release-1.1 branch was also created.  In order to make sure
recent OVN versions don't break the newest (stable) ovn-kubernetes
versions use this new stable branch in our CI.

Due to the fact that ovn-kubernetes doesn't explicitly define a
GO_VERSION variable (since [1]), some changes had to be made in the
prepare.sh script we run before building the ovn-kubernetes image in our
CI.

We also had to:
- install nftables in the container image as the newer version of
  ovn-kubernetes requires it
- change the KIND_IPVx_SUPPORT variables with new ovn-kubernetes
  supported PLATFORM_IPVx_SUPPORT ones
- explicitly disable interconnect mode (it became default in 1.1.0)
  to maintain the same tests we used to run before the bump (it's out of
  the scope of this patch to add new types of tests)
- update the log collection step

[0] https://github.com/orgs/ovn-kubernetes/discussions/5476
[1] https://github.com/ovn-kubernetes/ovn-kubernetes/commit/8025dac

Signed-off-by: Dumitru Ceara <dce...@redhat.com>
---
 .ci/ovn-kubernetes/Dockerfile        |  3 ++-
 .ci/ovn-kubernetes/prepare.sh        | 13 ++++++++-----
 .github/workflows/ovn-kubernetes.yml |  9 +++++----
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/.ci/ovn-kubernetes/Dockerfile b/.ci/ovn-kubernetes/Dockerfile
index 866272cfd6..4a7a41c79d 100644
--- a/.ci/ovn-kubernetes/Dockerfile
+++ b/.ci/ovn-kubernetes/Dockerfile
@@ -71,7 +71,8 @@ FROM fedora:$FEDORA_VERSION
 
 # install needed dependencies
 RUN INSTALL_PKGS=" \
-    iptables iproute iputils hostname unbound-libs kubernetes-client kmod 
socat" && \
+    iptables nftables iproute iputils hostname unbound-libs \
+    kubernetes-client kmod socat" && \
     dnf install --best --refresh -y --setopt=tsflags=nodocs $INSTALL_PKGS
 
 RUN mkdir -p /var/run/openvswitch
diff --git a/.ci/ovn-kubernetes/prepare.sh b/.ci/ovn-kubernetes/prepare.sh
index e0cc722ede..8cfd1bcb39 100755
--- a/.ci/ovn-kubernetes/prepare.sh
+++ b/.ci/ovn-kubernetes/prepare.sh
@@ -6,10 +6,13 @@ ovnk8s_path=$1
 env_path=$2
 topdir=$PWD
 
-function extract_ci_var() {
-    local name=$1
+function extract_go_version() {
+    grep -E '^go [0-9]\.[0-9\.]*$' go-controller/go.mod | awk '{print $2}'
+}
 
-    grep "$name:" .github/workflows/test.yml | awk '{print $2}' | tr -d '"'
+function extract_k8s_version() {
+    grep -E 'K8S_VERSION: v[0-9]\.[0-9\.]*$' .github/workflows/test.yml \
+        | awk '{print $2}' | tr -d '"'
 }
 
 pushd ${ovnk8s_path}
@@ -18,8 +21,8 @@ pushd ${ovnk8s_path}
 # ovn-kubernetes cloned repo, e.g., custom patches.
 
 # Set up the right GO_VERSION and K8S_VERSION.
-echo "GO_VERSION=$(extract_ci_var GO_VERSION)" >> $env_path
-echo "K8S_VERSION=$(extract_ci_var K8S_VERSION)" >> $env_path
+echo "GO_VERSION=$(extract_go_version)" >> $env_path
+echo "K8S_VERSION=$(extract_k8s_version)" >> $env_path
 
 # git apply --allow-empty is too new so not all git versions from major
 # distros support it, just check if the custom patch file is not empty
diff --git a/.github/workflows/ovn-kubernetes.yml 
b/.github/workflows/ovn-kubernetes.yml
index f061347bd9..9bbdf9ef9c 100644
--- a/.github/workflows/ovn-kubernetes.yml
+++ b/.github/workflows/ovn-kubernetes.yml
@@ -13,7 +13,7 @@ concurrency:
   cancel-in-progress: true
 
 env:
-  OVNKUBE_COMMIT: "release-1.0"
+  OVNKUBE_COMMIT: "release-1.1"
   KIND_CLUSTER_NAME: ovn
   KIND_INSTALL_INGRESS: true
   KIND_ALLOW_SYSTEM_WRITES: true
@@ -96,11 +96,12 @@ jobs:
       KIND_INSTALL_METALLB: "${{ matrix.target == 'control-plane' }}"
       OVN_MULTICAST_ENABLE:  "${{ matrix.target == 'control-plane' }}"
       OVN_EMPTY_LB_EVENTS: "${{ matrix.target == 'control-plane' }}"
+      OVN_ENABLE_INTERCONNECT: "false"
       OVN_HA: "true"
       OVN_DISABLE_SNAT_MULTIPLE_GWS: "${{ matrix.disable-snat-multiple-gws == 
'noSnatGW' }}"
       OVN_GATEWAY_MODE: "${{ matrix.gateway-mode }}"
-      KIND_IPV4_SUPPORT: "${{ matrix.ipfamily == 'IPv4' || matrix.ipfamily == 
'dualstack' }}"
-      KIND_IPV6_SUPPORT: "${{ matrix.ipfamily == 'IPv6' || matrix.ipfamily == 
'dualstack' }}"
+      PLATFORM_IPV4_SUPPORT: "${{ matrix.ipfamily == 'IPv4' || matrix.ipfamily 
== 'dualstack' }}"
+      PLATFORM_IPV6_SUPPORT: "${{ matrix.ipfamily == 'IPv6' || matrix.ipfamily 
== 'dualstack' }}"
     steps:
 
     - name: Check out ovn
@@ -179,7 +180,7 @@ jobs:
       if: always()
       run: |
         mkdir -p /tmp/kind/logs
-        kind export logs --name ${KIND_CLUSTER_NAME} --loglevel=debug 
/tmp/kind/logs
+        kind export logs --name ${KIND_CLUSTER_NAME} --verbosity 4 
/tmp/kind/logs
       working-directory: src/github.com/ovn-kubernetes/ovn-kubernetes
 
     - name: Upload logs
-- 
2.50.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to