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

Reply via email to