This has the benefit that we now use names that have more meaning instead of 'true/false'. The change is inspired from the current contents of the upstream ovn-kubernetes e2e GHA test specification: https://github.com/ovn-org/ovn-kubernetes/blob/69d8a995d79b280c4bb46f079fbe26f4d5550b16/.github/workflows/test.yml#L349
E.g., a new job will be called: e2e (control-plane, HA, shared, ipv4, noSnatGW) Instead of: e2e (control-plane, true, true, true, ipv4, IPv4, true, false) Signed-off-by: Dumitru Ceara <[email protected]> --- Note: one of the jobs is still failing but that's a test issue and is being tracked upstream by: https://github.com/ovn-org/ovn-kubernetes/issues/3078 --- .github/workflows/ovn-kubernetes.yml | 59 +++++++++++----------------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/.github/workflows/ovn-kubernetes.yml b/.github/workflows/ovn-kubernetes.yml index 431e47660..03f35d7a3 100644 --- a/.github/workflows/ovn-kubernetes.yml +++ b/.github/workflows/ovn-kubernetes.yml @@ -55,44 +55,31 @@ jobs: strategy: fail-fast: false matrix: - target: - - shard: shard-conformance - hybrid-overlay: false - multicast-enable: false - emptylb-enable: false - - shard: control-plane - hybrid-overlay: true - multicast-enable: true - emptylb-enable: true - ipfamily: - - ip: ipv4 - name: "IPv4" - ipv4: true - ipv6: false - - ip: ipv6 - name: "IPv6" - ipv4: false - ipv6: true - - ip: dualstack - name: "Dualstack" - ipv4: true - ipv6: true - # Example of how to exclude a fully qualified test: - # - {"ipfamily": {"ip": ipv4}, "ha": {"enabled": "false"}, "gateway-mode": shared, "target": {"shard": shard-n-other}} - exclude: - # Not currently supported but needs to be. - - {"ipfamily": {"ip": dualstack}, "target": {"shard": control-plane}} - - {"ipfamily": {"ip": ipv6}, "target": {"shard": control-plane}} + # Valid options are: + # target: ["shard-conformance", "control-plane" ] + # shard-conformance: hybrid-overlay = multicast-enable = emptylb-enable = false + # control-plane: hybrid-overlay = multicast-enable = emptylb-enable = true + # gateway-mode: ["local", "shared"] + # ipfamily: ["ipv4", "ipv6", "dualstack"] + # disable-snat-multiple-gws: ["noSnatGW", "snatGW"] + 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"} needs: [build] env: - JOB_NAME: "${{ matrix.target.shard }}-${{ matrix.ipfamily.name }}" + JOB_NAME: "${{ matrix.target }}-${{ matrix.ha }}-${{ matrix.gateway-mode }}-${{ matrix.ipfamily }}-${{ matrix.disable-snat-multiple-gws }}-${{ matrix.second-bridge }}" + OVN_HYBRID_OVERLAY_ENABLE: "${{ matrix.target == 'control-plane' }}" + OVN_MULTICAST_ENABLE: "${{ matrix.target == 'control-plane' }}" + OVN_EMPTY_LB_EVENTS: "${{ matrix.target == 'control-plane' }}" OVN_HA: "true" - KIND_IPV4_SUPPORT: "${{ matrix.ipfamily.ipv4 }}" - KIND_IPV6_SUPPORT: "${{ matrix.ipfamily.ipv6 }}" - OVN_HYBRID_OVERLAY_ENABLE: "${{ matrix.target.hybrid-overlay }}" - OVN_GATEWAY_MODE: "shared" - OVN_MULTICAST_ENABLE: "${{ matrix.target.multicast-enable }}" - OVN_EMPTY_LB_EVENTS: "${{ matrix.target.emptylb-enable }}" + 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' }}" steps: - name: Free up disk space @@ -138,7 +125,7 @@ jobs: - name: Run Tests run: | - make -C test ${{ matrix.target.shard }} + make -C test ${{ matrix.target }} working-directory: src/github.com/ovn-org/ovn-kubernetes - name: Upload Junit Reports -- 2.31.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
