diff mbox series

[ovs-dev,11/11] tests: Fix flaky "interconnection".

Message ID 20250710153345.104954-12-xsimonar@redhat.com
State Superseded
Headers show
Series Multiple unit/system tests fixes. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_ovn-kubernetes success github build: passed
ovsrobot/github-robot-_Build_and_Test fail github build: failed

Commit Message

Xavier Simonart July 10, 2025, 3:33 p.m. UTC
When comparing flows before and after recompute, flows corresponding
tp datapath which became local temporarily should be ignored.
Instead of listing all ts and ports in this case, configure the system
so that such datapath and ports are not temporarily local.

Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
---
 tests/ovn-ic.at | 30 +++++++++---------------------
 1 file changed, 9 insertions(+), 21 deletions(-)

Comments

Mark Michelson July 21, 2025, 8:49 p.m. UTC | #1
Acked-by: Mark Michelson <mmichels@redhat.com>

On 7/10/25 11:33 AM, Xavier Simonart via dev wrote:
> When comparing flows before and after recompute, flows corresponding
> tp datapath which became local temporarily should be ignored.
> Instead of listing all ts and ports in this case, configure the system
> so that such datapath and ports are not temporarily local.
> 
> Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
> ---
>   tests/ovn-ic.at | 30 +++++++++---------------------
>   1 file changed, 9 insertions(+), 21 deletions(-)
> 
> diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at
> index 30220c12e..49a409015 100644
> --- a/tests/ovn-ic.at
> +++ b/tests/ovn-ic.at
> @@ -1897,12 +1897,12 @@ for az in `seq 1 $n_az`; do
>           check ovn-nbctl lsp-set-type lsp-ls$az-$i-lr$az-$i router
>           check ovn-nbctl lsp-set-options lsp-ls$az-$i-lr$az-$i router-port=lrp-lr$az-$i-ls$az-$i
>   
> -        check ovn-nbctl lrp-add lr$az-$i lrp-lr$az-$i-ts$i $lrp_ts_mac $lrp_ts_ip/24
> -        check ovn-nbctl lsp-add ts$i lsp-ts$i-lr$az-$i
> -        check ovn-nbctl lsp-set-addresses lsp-ts$i-lr$az-$i router
> -        check ovn-nbctl lsp-set-type lsp-ts$i-lr$az-$i router
> -        check ovn-nbctl lsp-set-options lsp-ts$i-lr$az-$i router-port=lrp-lr$az-$i-ts$i
> -        check ovn-nbctl lrp-set-gateway-chassis lrp-lr$az-$i-ts$i gw$az
> +        check ovn-nbctl -- lrp-add lr$az-$i lrp-lr$az-$i-ts$i $lrp_ts_mac $lrp_ts_ip/24 \
> +                        -- lsp-add ts$i lsp-ts$i-lr$az-$i \
> +                        -- lsp-set-addresses lsp-ts$i-lr$az-$i router \
> +                        -- lsp-set-type lsp-ts$i-lr$az-$i router \
> +                        -- lsp-set-options lsp-ts$i-lr$az-$i router-port=lrp-lr$az-$i-ts$i \
> +                        -- lrp-set-gateway-chassis lrp-lr$az-$i-ts$i gw$az
>       done
>       check ovn-nbctl --wait=hv sync
>       ovn-sbctl list Port_Binding > az$az.ports
> @@ -2017,21 +2017,9 @@ for s_az in $(seq 1 $n_az); do
>   done
>   OVS_WAIT_UNTIL([check_packets], [$at_diff -F'^---' expected received])
>   
> -# ts[i] become local datapaths in hv[az] right before we lrp-set the
> -# gateway-chassis on lrp-lr$az-$i-ts$i.
> -# For ts1 & ts2, there are recomputes after the gateway-chassis has been set
> -# (e.g. when some tunnel_keys get added), and hence they get removed from
> -# local datapaths.
> -# However this is not the case for ts3: there is no recompute, and local
> -# datapaths are usually not removed in I+P. Ignore this.
> -# Also, ts3 remaining a local datapath, and lsp-ts3-lr[x]-3 being remote port, it
> -# is a related port. Ignore this also
> -ovn_as az1 OVN_CLEANUP_SBOX([hv1], [], ["lsp-ts3-lr2-3
> -lsp-ts3-lr3-3"], [ts3])
> -ovn_as az2 OVN_CLEANUP_SBOX([hv2], [], ["lsp-ts3-lr1-3
> -lsp-ts3-lr3-3"], [ts3])
> -ovn_as az3 OVN_CLEANUP_SBOX([hv3], [], ["lsp-ts3-lr1-3
> -lsp-ts3-lr2-3"], [ts3])
> +ovn_as az1 OVN_CLEANUP_SBOX([hv1])
> +ovn_as az2 OVN_CLEANUP_SBOX([hv2])
> +ovn_as az3 OVN_CLEANUP_SBOX([hv3])
>   
>   for az in `seq 1 $n_az`; do
>       ovn_as az$az
diff mbox series

Patch

diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at
index 30220c12e..49a409015 100644
--- a/tests/ovn-ic.at
+++ b/tests/ovn-ic.at
@@ -1897,12 +1897,12 @@  for az in `seq 1 $n_az`; do
         check ovn-nbctl lsp-set-type lsp-ls$az-$i-lr$az-$i router
         check ovn-nbctl lsp-set-options lsp-ls$az-$i-lr$az-$i router-port=lrp-lr$az-$i-ls$az-$i
 
-        check ovn-nbctl lrp-add lr$az-$i lrp-lr$az-$i-ts$i $lrp_ts_mac $lrp_ts_ip/24
-        check ovn-nbctl lsp-add ts$i lsp-ts$i-lr$az-$i
-        check ovn-nbctl lsp-set-addresses lsp-ts$i-lr$az-$i router
-        check ovn-nbctl lsp-set-type lsp-ts$i-lr$az-$i router
-        check ovn-nbctl lsp-set-options lsp-ts$i-lr$az-$i router-port=lrp-lr$az-$i-ts$i
-        check ovn-nbctl lrp-set-gateway-chassis lrp-lr$az-$i-ts$i gw$az
+        check ovn-nbctl -- lrp-add lr$az-$i lrp-lr$az-$i-ts$i $lrp_ts_mac $lrp_ts_ip/24 \
+                        -- lsp-add ts$i lsp-ts$i-lr$az-$i \
+                        -- lsp-set-addresses lsp-ts$i-lr$az-$i router \
+                        -- lsp-set-type lsp-ts$i-lr$az-$i router \
+                        -- lsp-set-options lsp-ts$i-lr$az-$i router-port=lrp-lr$az-$i-ts$i \
+                        -- lrp-set-gateway-chassis lrp-lr$az-$i-ts$i gw$az
     done
     check ovn-nbctl --wait=hv sync
     ovn-sbctl list Port_Binding > az$az.ports
@@ -2017,21 +2017,9 @@  for s_az in $(seq 1 $n_az); do
 done
 OVS_WAIT_UNTIL([check_packets], [$at_diff -F'^---' expected received])
 
-# ts[i] become local datapaths in hv[az] right before we lrp-set the
-# gateway-chassis on lrp-lr$az-$i-ts$i.
-# For ts1 & ts2, there are recomputes after the gateway-chassis has been set
-# (e.g. when some tunnel_keys get added), and hence they get removed from
-# local datapaths.
-# However this is not the case for ts3: there is no recompute, and local
-# datapaths are usually not removed in I+P. Ignore this.
-# Also, ts3 remaining a local datapath, and lsp-ts3-lr[x]-3 being remote port, it
-# is a related port. Ignore this also
-ovn_as az1 OVN_CLEANUP_SBOX([hv1], [], ["lsp-ts3-lr2-3
-lsp-ts3-lr3-3"], [ts3])
-ovn_as az2 OVN_CLEANUP_SBOX([hv2], [], ["lsp-ts3-lr1-3
-lsp-ts3-lr3-3"], [ts3])
-ovn_as az3 OVN_CLEANUP_SBOX([hv3], [], ["lsp-ts3-lr1-3
-lsp-ts3-lr2-3"], [ts3])
+ovn_as az1 OVN_CLEANUP_SBOX([hv1])
+ovn_as az2 OVN_CLEANUP_SBOX([hv2])
+ovn_as az3 OVN_CLEANUP_SBOX([hv3])
 
 for az in `seq 1 $n_az`; do
     ovn_as az$az