On Wed, Sep 9, 2026 at 4:38 PM Xavier Simonart via dev < [email protected]> wrote:
> curl -v output changes between versions e.g. in Fedora 44 "Connected to" > is replaced by > "Established connection to 172.16.0.100 (172.16.0.100 port 80) ..." > > While at it, fixed curl output checked on wrong chassis (curl was run on > ovn-chassis-4 > and output was checked on ovn-chassis-3). > > This caused following test to fail when multinode test was built with > Fedora 44 > "ovn multinode load-balancer with multiple DGPs and multiple chassis". > > Signed-off-by: Xavier Simonart <[email protected]> > > --- > v2: - Rebased on origin/main. > - Updated comment in macro. > - Updated based on Jacob's feedback i.e. > - Remove unused FORMAT_CURL > - Remove extra debugging commands. > - Updated commit message. > --- > tests/multinode-macros.at | 11 +++-- > tests/multinode.at | 92 +++++++++++++++++++-------------------- > 2 files changed, 51 insertions(+), 52 deletions(-) > > diff --git a/tests/multinode-macros.at b/tests/multinode-macros.at > index 88677e364..1c85f79f8 100644 > --- a/tests/multinode-macros.at > +++ b/tests/multinode-macros.at > @@ -74,13 +74,12 @@ m4_define([M_START_TCPDUMPS], > m4_define([M_FORMAT_CT], > [[grep -F "dst=$1," | sed -e 's/id=[0-9]*/id=<cleared>/g' -e > 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e > 's/zone=[[0-9]]*/zone=<cleared>/' -e 's/mark=[[0-9]]*/mark=<cleared>/' ]]) > > -# M_FORMAT_CURL([ip-addr], [port]) > +# OVN_CURL([CURL_ARGS]) > # > -# Strip content from the piped input which would differ from test to test > -# and limit the output to the rows containing 'ip-addr' and 'port'. > -# > -m4_define([M_FORMAT_CURL], > - [[sed 's/\(.*\)Connected to $1 ($1) port $2/Connected to $1 ($1) port > $2\n/' | sed 's/\(.*\)200 OK/200 OK\n/' | grep -i -e connected -e "200 OK" > | uniq ]]) > +# Execute curl with version-agnostic -w output formatting. > +# On unsuccessful connections, output also contains "Connected to () port > -1" and the http > +# code (e.g. 000) from the -w format, but those are harmless as failure > detection uses grep. > +m4_define([OVN_CURL], [curl -s -S -o /dev/null -w "Connected to > %{remote_ip} (%{remote_ip}) port %{remote_port}\n%{http_code}\n" $1 2>&1 | > sed "s/^200$/200 OK/"]) > > # CHECK_VRF() > # > diff --git a/tests/multinode.at b/tests/multinode.at > index 3df2921ee..e4b448a79 100644 > --- a/tests/multinode.at > +++ b/tests/multinode.at > @@ -1601,14 +1601,14 @@ OVS_WAIT_UNTIL([m_as ovn-chassis-2 ip netns exec > sw0p2 ss -tulpn | grep LISTEN | > m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v 172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59002 2> curl.out']) > -M_NS_CHECK_EXEC([ovn-chassis-3], [publicp1], [sh -c 'cat -v curl.out' | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL(172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59002) > curl.out']) > +M_NS_CHECK_EXEC([ovn-chassis-3], [publicp1], [sh -c 'cat -v curl.out'], > [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v 172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59003 2> curl.out']) > -M_NS_CHECK_EXEC([ovn-chassis-4], [publicp2], [sh -c 'cat -v curl.out' | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL(172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59003) > curl.out']) > +M_NS_CHECK_EXEC([ovn-chassis-4], [publicp2], [sh -c 'cat -v curl.out'], > [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1638,7 +1638,7 @@ m_as ovn-chassis-2 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59004 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59004) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -1647,7 +1647,7 @@ chassis2_ct=$(m_as ovn-chassis-2 ovs-appctl > dpctl/dump-conntrack | sed ':a;N;$!b > chassis1_flow=$(m_as ovn-chassis-1 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > chassis2_flow=$(m_as ovn-chassis-2 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out | M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1703,7 +1703,7 @@ m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > # Check the flows again for a new source port > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59005 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59005) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -1712,7 +1712,7 @@ chassis2_ct=$(m_as ovn-chassis-2 ovs-appctl > dpctl/dump-conntrack | sed ':a;N;$!b > chassis1_flow=$(m_as ovn-chassis-1 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > chassis2_flow=$(m_as ovn-chassis-2 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out | M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1758,7 +1758,7 @@ m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > # Start a new test using the second DGP as origin (public2) > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59006 2>curl.out']) > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59006) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -1767,7 +1767,7 @@ chassis2_ct=$(m_as ovn-chassis-2 ovs-appctl > dpctl/dump-conntrack | sed ':a;N;$!b > chassis1_flow=$(m_as ovn-chassis-1 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > chassis2_flow=$(m_as ovn-chassis-2 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out | M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1823,7 +1823,7 @@ m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > # Check the flows again for a new source port using the second DGP as > origin (public2) > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59007 2>curl.out']) > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59007) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -1832,7 +1832,7 @@ chassis2_ct=$(m_as ovn-chassis-2 ovs-appctl > dpctl/dump-conntrack | sed ':a;N;$!b > chassis1_flow=$(m_as ovn-chassis-1 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > chassis2_flow=$(m_as ovn-chassis-2 ovs-dpctl dump-flows | sed > ':a;N;$!ba;s/\n/\\n/g') > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out | M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1883,26 +1883,26 @@ fi > > # Check multiple requests coming from DGP's public1 and public2 > > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -1922,13 +1922,13 @@ m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > # Check end-to-end request using a new port for VIP > -M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'curl -v -O > 172.16.0.100:9000/download_file --retry 0 --connect-timeout 1 --max-time > 1 --local-port 59008 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [publicp1], [sh -c 'OVN_CURL( > 172.16.0.100:9000/download_file --retry 0 --connect-timeout 1 --max-time > 1 --local-port 59008) > curl.out']) > OVS_WAIT_FOR_OUTPUT([m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | > M_FORMAT_CT(20.0.1.3) | \ > grep tcp | sed -E -e 's/10.0.1.3|10.0.1.4/<cleared>/g' | sort], [0], [dnl > > > tcp,orig=(src=20.0.1.3,dst=<cleared>,sport=59008,dport=80),reply=(src=<cleared>,dst=20.0.1.3,sport=80,dport=59008),zone=<cleared>,protoinfo=(state=<cleared>) > ]) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [9000])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec publicp1 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 9000 > 200 OK > ]) > @@ -1937,13 +1937,13 @@ m_as ovn-gw-1 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > > # Check end-to-end request using a new port for VIP > -M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'curl -v -O > 172.16.0.100:9000/download_file --retry 0 --connect-timeout 1 --max-time > 1 --local-port 59008 2>curl.out']) > +M_NS_EXEC([ovn-chassis-4], [publicp2], [sh -c 'OVN_CURL( > 172.16.0.100:9000/download_file --retry 0 --connect-timeout 1 --max-time > 1 --local-port 59008) > curl.out']) > OVS_WAIT_FOR_OUTPUT([m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | > M_FORMAT_CT(30.0.1.3) | \ > grep tcp | sed -E -e 's/10.0.1.3|10.0.1.4/<cleared>/g' | sort], [0], [dnl > > > tcp,orig=(src=30.0.1.3,dst=<cleared>,sport=59008,dport=80),reply=(src=<cleared>,dst=30.0.1.3,sport=80,dport=59008),zone=<cleared>,protoinfo=(state=<cleared>) > ]) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [9000])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-4 ip netns exec publicp2 cat -v > curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 9000 > 200 OK > ]) > @@ -2156,7 +2156,7 @@ m_as ovn-gw-3 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-4 ovs-appctl dpctl/flush-conntrack > > # Check direct backend traffic using the same LB ports > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59013 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59013) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -2179,7 +2179,7 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([10.0.2.3], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 10.0.2.3 (10.0.2.3) port 80 > 200 OK > ]) > @@ -2191,7 +2191,7 @@ m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-3 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-4 ovs-appctl dpctl/flush-conntrack > > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.4:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59014 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.4:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59014) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -2214,14 +2214,14 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([10.0.2.4], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 10.0.2.4 (10.0.2.4) port 80 > 200 OK > ]) > fi > > # Check the flows again for the LB VIP > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v 172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59015 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL(172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59015) > curl.out']) > > curl_timeout=$(m_as ovn-chassis-3 cat -v curl.out | grep -i -e "timed > out" -e "timeout" -c) > > @@ -2232,14 +2232,14 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > fi > > # Check the flows again for the LB VIP > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v 172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59016 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL(172.16.0.100:80 > --retry 0 --connect-timeout 1 --max-time 1 --local-port 59016) > curl.out']) > > curl_timeout=$(m_as ovn-chassis-3 cat -v curl.out | grep -i -e "timed > out" -e "timeout" -c) > > @@ -2250,7 +2250,7 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -2262,11 +2262,11 @@ check multinode_nbctl set load_balancer lb0 > options:use_stateless_nat=true > check multinode_nbctl --wait=sb set load_balancer lb0 > selection_fields="ip_src,tp_src,ip_dst,tp_dst" > > # Check the flows again for the LB VIP - always needs to be successful > regardless of the datapath (one or two gw chassis) > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > M_NS_EXEC([ovn-chassis-1], [sw0p1], [sh -c 'ss -nn >connections.out']) > M_NS_EXEC([ovn-chassis-2], [sw0p2], [sh -c 'ss -nn >connections.out']) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -2279,11 +2279,11 @@ OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-2 cat > connections.out | grep "FIN-WAIT-2" > 0 > ]) > > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > M_NS_EXEC([ovn-chassis-1], [sw0p1], [sh -c 'ss -nn >connections.out']) > M_NS_EXEC([ovn-chassis-2], [sw0p2], [sh -c 'ss -nn >connections.out']) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -2296,11 +2296,11 @@ OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-2 cat > connections.out | grep "FIN-WAIT-2" > 0 > ]) > > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > M_NS_EXEC([ovn-chassis-1], [sw0p1], [sh -c 'ss -nn >connections.out']) > M_NS_EXEC([ovn-chassis-2], [sw0p2], [sh -c 'ss -nn >connections.out']) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -2313,11 +2313,11 @@ OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-2 cat > connections.out | grep "FIN-WAIT-2" > 0 > ]) > > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 172.16.0.100:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > M_NS_EXEC([ovn-chassis-1], [sw0p1], [sh -c 'ss -nn >connections.out']) > M_NS_EXEC([ovn-chassis-2], [sw0p2], [sh -c 'ss -nn >connections.out']) > > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([172.16.0.100], [80])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 172.16.0.100 (172.16.0.100) port 80 > 200 OK > ]) > @@ -2331,7 +2331,7 @@ OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-2 cat > connections.out | grep "FIN-WAIT-2" > ]) > > # Direct backend traffic using the same LB ports needs to be dropped > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > > OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec sw1p1 cat -v > curl.out | \ > sed 's/\(.*\)timed out/timed out\n/' | sed 's/\(.*\)connect timeout/timed > out\n/' | grep -i -e "timed out" | uniq], [0], [dnl > @@ -2339,7 +2339,7 @@ timed out > ]) > > # check again using another source ports > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1 > 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.3:80/download_file --retry 0 --connect-timeout 1 --max-time 1) > > curl.out']) > > OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 ip netns exec sw1p1 cat -v > curl.out | \ > sed 's/\(.*\)timed out/timed out\n/' | sed 's/\(.*\)connect timeout/timed > out\n/' | grep -i -e "timed out" | uniq], [0], [dnl > @@ -2360,7 +2360,7 @@ m_as ovn-gw-2 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-3 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-4 ovs-appctl dpctl/flush-conntrack > > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.4:8080/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59017 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.4:8080/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59017) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -2383,7 +2383,7 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([10.0.2.4], [8080])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 10.0.2.4 (10.0.2.4) port 8080 > 200 OK > ]) > @@ -2396,7 +2396,7 @@ m_as ovn-gw-3 ovs-appctl dpctl/flush-conntrack > m_as ovn-gw-4 ovs-appctl dpctl/flush-conntrack > > # Check again > -M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'curl -v -O > 10.0.2.4:8080/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59018 2>curl.out']) > +M_NS_EXEC([ovn-chassis-3], [sw1p1], [sh -c 'OVN_CURL( > 10.0.2.4:8080/download_file --retry 0 --connect-timeout 1 --max-time 1 > --local-port 59018) > curl.out']) > > gw1_ct=$(m_as ovn-gw-1 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > gw2_ct=$(m_as ovn-gw-2 ovs-appctl dpctl/dump-conntrack | sed > ':a;N;$!ba;s/\n/\\n/g') > @@ -2419,7 +2419,7 @@ sed 's/\(.*\)timed out/timed out\n/' | sed > 's/\(.*\)connect timeout/timed out\n/ > timed out > ]) > else > -OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out | > M_FORMAT_CURL([10.0.2.4], [8080])], [0], [dnl > +OVS_WAIT_FOR_OUTPUT([m_as ovn-chassis-3 cat -v curl.out], [0], [dnl > Connected to 10.0.2.4 (10.0.2.4) port 8080 > 200 OK > ]) > -- > 2.47.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Thank you Xavier and Jacob, applied to main and backported down to 26.03. Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
