On Tue, Jul 23, 2024 at 11:55 AM Xavier Simonart <[email protected]> wrote:
>
> Two macros have been added:
> - CHECK_RELATED_PORTS_AFTER_RECOMPUTE
> Checks the related_lports using IP and recompute.
> - CHECK_AFTER_RECOMPUTE
> Checks related_lports and flows using IP and recompute.
> Using CHECK_RELATED_PORTS_AFTER_RECOMPUTE followed by
> CHECK_FLOWS_PORTS_AFTER_RECOMPUTE would not detect any lflow related issues.
>
> CHECK_RELATED_PORTS_AFTER_RECOMPUTE will be used in following patch
> to check related_ports at the end of the tests.
>
> Signed-off-by: Xavier Simonart <[email protected]>
Thanks. I applied this patch to main with the below changes
------------------
diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
index 02de7208dc..d57eadfc57 100644
--- a/tests/ovn-macros.at
+++ b/tests/ovn-macros.at
@@ -27,7 +27,7 @@ m4_define([DUMP_FLOWS], [
sort > $output_file
])
-# DUMP_RELATED_PORTS(sbix, output_file)
+# DUMP_RELATED_PORTS(sbox, output_file)
# Dump related ports
m4_define([DUMP_RELATED_PORTS], [
sbox=$1
@@ -69,7 +69,7 @@ m4_define([CHECK_RELATED_PORTS_AFTER_RECOMPUTE], [
sbox=$2
related_ports=$3
AT_CAPTURE_FILE([related-ports-diff])
- # Make sure I+P has finalized his job before getting flows and
comparing them after recompte.
+ # Make sure I+P has finalized the job before getting flows and
comparing them after recompte.
# Some tests have northd and ovn-nb ovsdb stopped, so avoid
ovn-nbctl for those.
if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
# Do wait twice to handle some potential race conditions
@@ -79,15 +79,15 @@ m4_define([CHECK_RELATED_PORTS_AFTER_RECOMPUTE], [
as $sbox
if test "$hv" != "vtep"; then
- DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-1])
+ DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-before])
check ovn-appctl -t ovn-controller recompute
# The recompute might cause some sb changes. Let controller catch up.
if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
check ovn-nbctl --wait=hv sync
fi
- DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-2])
+ DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-after])
# Compare and store differences before and after recompute
- comm -3 related-ports-$hv-1 related-ports-$hv-2 > related-ports-diff-$hv
+ comm -3 related-ports-$hv-before related-ports-$hv-after >
related-ports-diff-$hv
# Ignore some differences.
echo "$related_ports" | comm -2 -3 related-ports-diff-$hv - >
related-ports-diff
AT_CHECK([wc -l < related-ports-diff], [0], [0
---------------------
Numan
> ---
> tests/ovn-macros.at | 80 ++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
> index 47ada5c70..02de7208d 100644
> --- a/tests/ovn-macros.at
> +++ b/tests/ovn-macros.at
> @@ -27,6 +27,15 @@ m4_define([DUMP_FLOWS], [
> sort > $output_file
> ])
>
> +# DUMP_RELATED_PORTS(sbix, output_file)
> +# Dump related ports
> +m4_define([DUMP_RELATED_PORTS], [
> + sbox=$1
> + output_file=$2
> + as $sbox
> + ovn-appctl debug/dump-related-ports | sort > $output_file
> +])
> +
> m4_define([CHECK_FLOWS_AFTER_RECOMPUTE], [
> hv=$1
> sbox=$2
> @@ -50,7 +59,76 @@ m4_define([CHECK_FLOWS_AFTER_RECOMPUTE], [
> fi
> DUMP_FLOWS([$sbox], [flows-$hv-2])
> diff flows-$hv-1 flows-$hv-2 > flow-diff
> - AT_CHECK([test $(diff flows-$hv-1 flows-$hv-2 | wc -l) == 0])
> + AT_CHECK([wc -l < flow-diff], [0], [0
> +])
> + fi
> +])
> +
> +m4_define([CHECK_RELATED_PORTS_AFTER_RECOMPUTE], [
> + hv=$1
> + sbox=$2
> + related_ports=$3
> + AT_CAPTURE_FILE([related-ports-diff])
> + # Make sure I+P has finalized his job before getting flows and comparing
> them after recompte.
> + # Some tests have northd and ovn-nb ovsdb stopped, so avoid ovn-nbctl
> for those.
> + if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
> + # Do wait twice to handle some potential race conditions
> + check ovn-nbctl --wait=hv sync
> + check ovn-nbctl --wait=hv sync
> + fi
> +
> + as $sbox
> + if test "$hv" != "vtep"; then
> + DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-1])
> + check ovn-appctl -t ovn-controller recompute
> + # The recompute might cause some sb changes. Let controller catch up.
> + if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
> + check ovn-nbctl --wait=hv sync
> + fi
> + DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-2])
> + # Compare and store differences before and after recompute
> + comm -3 related-ports-$hv-1 related-ports-$hv-2 >
> related-ports-diff-$hv
> + # Ignore some differences.
> + echo "$related_ports" | comm -2 -3 related-ports-diff-$hv - >
> related-ports-diff
> + AT_CHECK([wc -l < related-ports-diff], [0], [0
> +])
> + fi
> +])
> +
> +m4_define([CHECK_AFTER_RECOMPUTE], [
> + hv=$1
> + sbox=$2
> + related_ports=$3
> + AT_CAPTURE_FILE([related-ports-diff])
> + # Make sure I+P has finalized his job before getting flows and comparing
> them after recompte.
> + # Some tests have northd and ovn-nb ovsdb stopped, so avoid ovn-nbctl
> for those.
> + if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
> + # Do wait twice to handle some potential race conditions
> + check ovn-nbctl --wait=hv sync
> + check ovn-nbctl --wait=hv sync
> + fi
> +
> + as $sbox
> + if test "$hv" != "vtep"; then
> + DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-1])
> + DUMP_FLOWS([$sbox], [flows-$hv-1])
> + check ovn-appctl -t ovn-controller recompute
> + # The recompute might cause some sb changes. Let controller catch up.
> + if [[ -e ovn-nb/ovn-nb.sock ]] && [[ -e northd/ovn-northd.pid ]]; then
> + check ovn-nbctl --wait=hv sync
> + fi
> + DUMP_RELATED_PORTS([$sbox], [related-ports-$hv-2])
> + DUMP_FLOWS([$sbox], [flows-$hv-2])
> + # Compare and store differences before and after recompute
> + comm -3 related-ports-$hv-1 related-ports-$hv-2 >
> related-ports-diff-$hv
> + # Ignore some differences.
> + echo "$related_ports" | comm -2 -3 related-ports-diff-$hv - >
> related-ports-diff
> + AT_CHECK([wc -l < related-ports-diff], [0], [0
> +])
> + diff flows-$hv-1 flows-$hv-2 > flow-diff
> + AT_CHECK([wc -l < flow-diff], [0], [0
> +])
> + diff flows-$hv-1 flows-$hv-2 > flow-diff
> fi
> ])
>
> --
> 2.31.1
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev