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

Reply via email to