diff mbox series

[ovs-dev] tests: fix "load balancing affinity sessions - IPv4 and IPv6"

Message ID 20230420162300.146780-1-xsimonar@redhat.com
State Accepted
Headers show
Series [ovs-dev] tests: fix "load balancing affinity sessions - IPv4 and IPv6" | 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 April 20, 2023, 4:23 p.m. UTC
The tests were randomly failing as there is no guarentee that
15 nc will reach different load balancers.
Also, running 15 nc made the test quite slow.
Fixed by running loops of 5 nc, and then checking results.
Test duration decreased by 15 to 20 seconds.

Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
---
 tests/system-ovn-kmod.at | 112 +++++++++++++++++++--------------------
 1 file changed, 56 insertions(+), 56 deletions(-)

Comments

Ales Musil April 21, 2023, 8:05 a.m. UTC | #1
On Thu, Apr 20, 2023 at 6:23 PM Xavier Simonart <xsimonar@redhat.com> wrote:

> The tests were randomly failing as there is no guarentee that
> 15 nc will reach different load balancers.
> Also, running 15 nc made the test quite slow.
> Fixed by running loops of 5 nc, and then checking results.
> Test duration decreased by 15 to 20 seconds.
>
> Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
> ---
>  tests/system-ovn-kmod.at | 112 +++++++++++++++++++--------------------
>  1 file changed, 56 insertions(+), 56 deletions(-)
>
> diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
> index 981cc598c..e54b458fb 100644
> --- a/tests/system-ovn-kmod.at
> +++ b/tests/system-ovn-kmod.at
> @@ -332,14 +332,14 @@ OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups
> br-int | \
>  grep 'nat(dst=192.168.2.2:80)'])
>
>  dnl Should work with the virtual IP address through NAT
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.100 8080])
> -done
> -
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([alice1], [nc -z 172.16.1.100 8080])
> +    done
> +
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) | \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -390,15 +390,15 @@ ovn-nbctl lr-lb-add R2 lb1-no-aff
>  ovn-nbctl lr-lb-add R2 lb11-no-aff
>
>  # check we use both backends
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.101 8080])
> -    ovs-ofctl del-flows br-int table=78
> -done
> -
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([alice1], [nc -z 172.16.1.101 8080])
> +        ovs-ofctl del-flows br-int table=78
> +    done
> +
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) | \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -447,15 +447,15 @@ ovn-nbctl ls-lb-add foo lb30-no-aff
>  # Flush conntrack entries for easier output parsing of next test.
>  AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([foo1], [nc -z 192.168.2.101 8080])
> -    ovs-ofctl del-flows br-int table=78
> -done
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([foo1], [nc -z 192.168.2.101 8080])
> +        ovs-ofctl del-flows br-int table=78
> +    done
>
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) | \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -631,14 +631,14 @@ NETNS_DAEMONIZE([foo1], [nc -l -k fd11::2 80],
> [nc-foo1.pid])
>  NETNS_DAEMONIZE([bar1], [nc -l -k fd12::2 80], [nc-bar1.pid])
>
>  dnl Should work with the virtual IP address through NAT
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([alice1], [nc -z fd30::1 8080])
> -done
> -
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v
> fe80 |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([alice1], [nc -z fd30::1 8080])
> +    done
> +
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v fe80 |
> \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -690,15 +690,15 @@ ovn-nbctl lr-lb-add R2 lb1-no-aff
>  ovn-nbctl lr-lb-add R2 lb11-no-aff
>
>  # check we use both backends
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([alice1], [nc -z fd30::2 8080])
> -    ovs-ofctl del-flows br-int table=78
> -done
> -
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v
> fe80 |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([alice1], [nc -z fd30::2 8080])
> +        ovs-ofctl del-flows br-int table=78
> +    done
> +
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v fe80 |
> \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -745,14 +745,14 @@ ovn-nbctl ls-lb-add foo lb30
>  ovn-nbctl ls-lb-add foo lb3-no-aff
>  ovn-nbctl ls-lb-add foo lb30-no-aff
>
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([foo1], [nc -z fd12::b 8080])
> -    ovs-ofctl del-flows br-int table=78
> -done
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([foo1], [nc -z fd12::b 8080])
> +        ovs-ofctl del-flows br-int table=78
> +    done
>
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v
> fe80 |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v fe80 |
> \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::3,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
> @@ -777,14 +777,14 @@ ovn-nbctl lr-lb-add R1 lb40-no-aff
>  # Flush conntrack entries for easier output parsing of next test.
>  AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
> -for i in $(seq 1 15); do
> -    echo Request $i
> -    NS_CHECK_EXEC([foo1], [nc -z fd11::a 8080])
> -done
> +OVS_WAIT_FOR_OUTPUT([
> +    for i in $(seq 1 5); do
> +        NS_EXEC([foo1], [nc -z fd11::a 8080])
> +    done
>
> -dnl Each server should have at least one connection.
> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v
> fe80 |
> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
> +    dnl Each server should have at least one connection.
> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v fe80 |
> \
> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  tcp,orig=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=fd11::2,dst=fd11::a,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>
>  tcp,orig=(src=fd11::b,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
> --
> 2.31.1
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <amusil@redhat.com>
Mark Michelson May 1, 2023, 4:43 p.m. UTC | #2
Thanks Xavier and Ales.

I applied the change to main.

On 4/21/23 04:05, Ales Musil wrote:
> On Thu, Apr 20, 2023 at 6:23 PM Xavier Simonart <xsimonar@redhat.com> wrote:
> 
>> The tests were randomly failing as there is no guarentee that
>> 15 nc will reach different load balancers.
>> Also, running 15 nc made the test quite slow.
>> Fixed by running loops of 5 nc, and then checking results.
>> Test duration decreased by 15 to 20 seconds.
>>
>> Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
>> ---
>>   tests/system-ovn-kmod.at | 112 +++++++++++++++++++--------------------
>>   1 file changed, 56 insertions(+), 56 deletions(-)
>>
>> diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
>> index 981cc598c..e54b458fb 100644
>> --- a/tests/system-ovn-kmod.at
>> +++ b/tests/system-ovn-kmod.at
>> @@ -332,14 +332,14 @@ OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups
>> br-int | \
>>   grep 'nat(dst=192.168.2.2:80)'])
>>
>>   dnl Should work with the virtual IP address through NAT
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.100 8080])
>> -done
>> -
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([alice1], [nc -z 172.16.1.100 8080])
>> +    done
>> +
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) | \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -390,15 +390,15 @@ ovn-nbctl lr-lb-add R2 lb1-no-aff
>>   ovn-nbctl lr-lb-add R2 lb11-no-aff
>>
>>   # check we use both backends
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.101 8080])
>> -    ovs-ofctl del-flows br-int table=78
>> -done
>> -
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([alice1], [nc -z 172.16.1.101 8080])
>> +        ovs-ofctl del-flows br-int table=78
>> +    done
>> +
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) | \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -447,15 +447,15 @@ ovn-nbctl ls-lb-add foo lb30-no-aff
>>   # Flush conntrack entries for easier output parsing of next test.
>>   AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>>
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([foo1], [nc -z 192.168.2.101 8080])
>> -    ovs-ofctl del-flows br-int table=78
>> -done
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([foo1], [nc -z 192.168.2.101 8080])
>> +        ovs-ofctl del-flows br-int table=78
>> +    done
>>
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) | \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -631,14 +631,14 @@ NETNS_DAEMONIZE([foo1], [nc -l -k fd11::2 80],
>> [nc-foo1.pid])
>>   NETNS_DAEMONIZE([bar1], [nc -l -k fd12::2 80], [nc-bar1.pid])
>>
>>   dnl Should work with the virtual IP address through NAT
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([alice1], [nc -z fd30::1 8080])
>> -done
>> -
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v
>> fe80 |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([alice1], [nc -z fd30::1 8080])
>> +    done
>> +
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v fe80 |
>> \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -690,15 +690,15 @@ ovn-nbctl lr-lb-add R2 lb1-no-aff
>>   ovn-nbctl lr-lb-add R2 lb11-no-aff
>>
>>   # check we use both backends
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([alice1], [nc -z fd30::2 8080])
>> -    ovs-ofctl del-flows br-int table=78
>> -done
>> -
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v
>> fe80 |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([alice1], [nc -z fd30::2 8080])
>> +        ovs-ofctl del-flows br-int table=78
>> +    done
>> +
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v fe80 |
>> \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -745,14 +745,14 @@ ovn-nbctl ls-lb-add foo lb30
>>   ovn-nbctl ls-lb-add foo lb3-no-aff
>>   ovn-nbctl ls-lb-add foo lb30-no-aff
>>
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([foo1], [nc -z fd12::b 8080])
>> -    ovs-ofctl del-flows br-int table=78
>> -done
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([foo1], [nc -z fd12::b 8080])
>> +        ovs-ofctl del-flows br-int table=78
>> +    done
>>
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v
>> fe80 |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v fe80 |
>> \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::3,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>   ])
>> @@ -777,14 +777,14 @@ ovn-nbctl lr-lb-add R1 lb40-no-aff
>>   # Flush conntrack entries for easier output parsing of next test.
>>   AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>>
>> -for i in $(seq 1 15); do
>> -    echo Request $i
>> -    NS_CHECK_EXEC([foo1], [nc -z fd11::a 8080])
>> -done
>> +OVS_WAIT_FOR_OUTPUT([
>> +    for i in $(seq 1 5); do
>> +        NS_EXEC([foo1], [nc -z fd11::a 8080])
>> +    done
>>
>> -dnl Each server should have at least one connection.
>> -AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v
>> fe80 |
>> -sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>> +    dnl Each server should have at least one connection.
>> +    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v fe80 |
>> \
>> +      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>>
>>   tcp,orig=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=fd11::2,dst=fd11::a,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>>
>>   tcp,orig=(src=fd11::b,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
>> --
>> 2.31.1
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>>
> Looks good to me, thanks.
> 
> Acked-by: Ales Musil <amusil@redhat.com>
>
diff mbox series

Patch

diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
index 981cc598c..e54b458fb 100644
--- a/tests/system-ovn-kmod.at
+++ b/tests/system-ovn-kmod.at
@@ -332,14 +332,14 @@  OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \
 grep 'nat(dst=192.168.2.2:80)'])
 
 dnl Should work with the virtual IP address through NAT
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.100 8080])
-done
-
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([alice1], [nc -z 172.16.1.100 8080])
+    done
+
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.100) | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -390,15 +390,15 @@  ovn-nbctl lr-lb-add R2 lb1-no-aff
 ovn-nbctl lr-lb-add R2 lb11-no-aff
 
 # check we use both backends
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([alice1], [nc -z 172.16.1.101 8080])
-    ovs-ofctl del-flows br-int table=78
-done
-
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([alice1], [nc -z 172.16.1.101 8080])
+        ovs-ofctl del-flows br-int table=78
+    done
+
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(172.16.1.101) | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=172.16.1.2,dst=172.16.1.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -447,15 +447,15 @@  ovn-nbctl ls-lb-add foo lb30-no-aff
 # Flush conntrack entries for easier output parsing of next test.
 AT_CHECK([ovs-appctl dpctl/flush-conntrack])
 
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([foo1], [nc -z 192.168.2.101 8080])
-    ovs-ofctl del-flows br-int table=78
-done
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([foo1], [nc -z 192.168.2.101 8080])
+        ovs-ofctl del-flows br-int table=78
+    done
 
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(192.168.2.101) | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -631,14 +631,14 @@  NETNS_DAEMONIZE([foo1], [nc -l -k fd11::2 80], [nc-foo1.pid])
 NETNS_DAEMONIZE([bar1], [nc -l -k fd12::2 80], [nc-bar1.pid])
 
 dnl Should work with the virtual IP address through NAT
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([alice1], [nc -z fd30::1 8080])
-done
-
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v fe80 |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([alice1], [nc -z fd30::1 8080])
+    done
+
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::1) | grep -v fe80 | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=fd72::2,dst=fd30::1,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -690,15 +690,15 @@  ovn-nbctl lr-lb-add R2 lb1-no-aff
 ovn-nbctl lr-lb-add R2 lb11-no-aff
 
 # check we use both backends
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([alice1], [nc -z fd30::2 8080])
-    ovs-ofctl del-flows br-int table=78
-done
-
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v fe80 |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([alice1], [nc -z fd30::2 8080])
+        ovs-ofctl del-flows br-int table=78
+    done
+
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd30::2) | grep -v fe80 | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -745,14 +745,14 @@  ovn-nbctl ls-lb-add foo lb30
 ovn-nbctl ls-lb-add foo lb3-no-aff
 ovn-nbctl ls-lb-add foo lb30-no-aff
 
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([foo1], [nc -z fd12::b 8080])
-    ovs-ofctl del-flows br-int table=78
-done
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([foo1], [nc -z fd12::b 8080])
+        ovs-ofctl del-flows br-int table=78
+    done
 
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v fe80 |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd12::b) | grep -v fe80 | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=fd11::2,dst=fd12::b,sport=<cleared>,dport=<cleared>),reply=(src=fd12::3,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
@@ -777,14 +777,14 @@  ovn-nbctl lr-lb-add R1 lb40-no-aff
 # Flush conntrack entries for easier output parsing of next test.
 AT_CHECK([ovs-appctl dpctl/flush-conntrack])
 
-for i in $(seq 1 15); do
-    echo Request $i
-    NS_CHECK_EXEC([foo1], [nc -z fd11::a 8080])
-done
+OVS_WAIT_FOR_OUTPUT([
+    for i in $(seq 1 5); do
+        NS_EXEC([foo1], [nc -z fd11::a 8080])
+    done
 
-dnl Each server should have at least one connection.
-AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v fe80 |
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
+    dnl Each server should have at least one connection.
+    ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd11::2) | grep -v fe80 | \
+      sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
 tcp,orig=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
 tcp,orig=(src=fd11::2,dst=fd11::a,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 tcp,orig=(src=fd11::b,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd11::2,dst=fd11::b,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)