Since [0] some feature tests have been moved out of the default
"control-plane" CI lane in ovn-kubernetes.  In order to run those, they
have to be explicitly triggered.  When that change happened the OVN CI
lanes were not updated so we lost test coverage for those features.

This lead to regressions like [1] creeping in.

This commit re-enables the tests.

[0] https://github.com/ovn-kubernetes/ovn-kubernetes/commit/cf116ea
[1] https://mail.openvswitch.org/pipermail/ovs-dev/2025-September/426000.html

Signed-off-by: Dumitru Ceara <[email protected]>
---
V2:
- rebased now that
  https://github.com/ovn-kubernetes/ovn-kubernetes/pull/5661 fixes the
  ovn-kubernetes CI test on their release-1.1 branch.
---
 .github/workflows/ovn-kubernetes.yml | 35 +++++++++++++++++++---------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/ovn-kubernetes.yml 
b/.github/workflows/ovn-kubernetes.yml
index 66fcdae013..05f1ba5b8b 100644
--- a/.github/workflows/ovn-kubernetes.yml
+++ b/.github/workflows/ovn-kubernetes.yml
@@ -76,19 +76,25 @@ jobs:
       fail-fast: false
       matrix:
         # Valid options are:
-        # target: ["shard-conformance", "control-plane" ]
+        # target: ["shard-conformance", "control-plane", "external-gateway" ]
         #         shard-conformance: hybrid-overlay = multicast-enable = 
emptylb-enable = false
         #         control-plane: hybrid-overlay = multicast-enable = 
emptylb-enable = true
+        # ha: ["HA", "noHA"]
         # gateway-mode: ["local", "shared"]
         # ipfamily: ["ipv4", "ipv6", "dualstack"]
         # disable-snat-multiple-gws: ["noSnatGW", "snatGW"]
+        # second-bridge: ["2br", "1br"]
+        # ic: ["ic-disabled", "ic-single-node-zones", "ic-multi-node-zones"]
         include:
-          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"local",  "ipfamily": "ipv6",      "disable-snat-multiple-gws": "snatGW"}
-          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"local",  "ipfamily": "dualstack", "disable-snat-multiple-gws": "snatGW"}
-          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "snatGW"}
-          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv6",      "disable-snat-multiple-gws": "snatGW"}
-          - {"target": "control-plane",     "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "noSnatGW"}
-          - {"target": "control-plane",     "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "snatGW"}
+          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"local",  "ipfamily": "ipv6",      "disable-snat-multiple-gws": "snatGW",   
"ic": "ic-disabled"}
+          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"local",  "ipfamily": "dualstack", "disable-snat-multiple-gws": "snatGW",   
"ic": "ic-disabled"}
+          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "snatGW",   
"ic": "ic-disabled"}
+          - {"target": "shard-conformance", "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv6",      "disable-snat-multiple-gws": "snatGW",   
"ic": "ic-disabled"}
+          - {"target": "control-plane",     "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "noSnatGW", 
"ic": "ic-disabled"}
+          - {"target": "control-plane",     "ha": "HA",   "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "snatGW",   
"ic": "ic-disabled"}
+          - {"target": "external-gateway",  "ha": "noHA", "gateway-mode": 
"shared", "ipfamily": "ipv4",      "disable-snat-multiple-gws": "noSnatGW", 
"second-bridge": "2br", "ic": "ic-single-node-zones"}
+          - {"target": "external-gateway",  "ha": "noHA", "gateway-mode": 
"local",  "ipfamily": "ipv6",      "disable-snat-multiple-gws": "noSnatGW", 
"second-bridge": "1br", "ic": "ic-single-node-zones"}
+
     needs: [build]
     env:
       JOB_NAME: "${{ matrix.target }}-${{ matrix.ha }}-${{ matrix.gateway-mode 
}}-${{ matrix.ipfamily }}-${{ matrix.disable-snat-multiple-gws }}-${{ 
matrix.second-bridge }}"
@@ -97,11 +103,14 @@ jobs:
       OVN_MULTICAST_ENABLE:  "${{ matrix.target == 'control-plane' }}"
       OVN_EMPTY_LB_EVENTS: "${{ matrix.target == 'control-plane' }}"
       # TODO: We have been testing only non-interconnect ovn-k8s jobs until
-      # now.  Both modes should be tested in the future.
-      OVN_ENABLE_INTERCONNECT: "false"
-      OVN_HA: "true"
+      # now.  We only enable interconnect mode for the external-gateway jobs.
+      # However, both modes should be tested in the future, similar to what
+      # upstream ovn-k8s does.
+      OVN_ENABLE_INTERCONNECT: "${{ matrix.ic == 'ic-single-node-zones' ||  
matrix.ic == 'ic-multi-node-zones'}}"
+      OVN_HA: "${{ matrix.ha == 'HA' }}"
       OVN_DISABLE_SNAT_MULTIPLE_GWS: "${{ matrix.disable-snat-multiple-gws == 
'noSnatGW' }}"
       OVN_GATEWAY_MODE: "${{ matrix.gateway-mode }}"
+      OVN_SECOND_BRIDGE: "${{ matrix.second-bridge == '2br' }}"
       PLATFORM_IPV4_SUPPORT: "${{ matrix.ipfamily == 'IPv4' || matrix.ipfamily 
== 'dualstack' }}"
       PLATFORM_IPV6_SUPPORT: "${{ matrix.ipfamily == 'IPv6' || matrix.ipfamily 
== 'dualstack' }}"
     steps:
@@ -168,7 +177,11 @@ jobs:
       # set 180 for control-plane tests as these might take a while
       timeout-minutes: ${{ matrix.target == 'control-plane' && 180 || 120 }}
       run: |
-        make -C test ${{ matrix.target }}
+        if [ "${{ matrix.target }}" == "external-gateway" ]; then
+            make -C test control-plane WHAT="External Gateway"
+        else
+            make -C test ${{ matrix.target }}
+        fi
       working-directory: src/github.com/ovn-kubernetes/ovn-kubernetes
 
     - name: Upload Junit Reports
-- 
2.51.0

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

Reply via email to