Skip to content

Commit

Permalink
system-tests: Reduce flakiness of netcat UDP clients
Browse files Browse the repository at this point in the history
When we send a packet through UDP without other side
having open port, it usually replies with ICMP message.
netcat upon getting that error fails with:
"Ncat: Connection refused.". However, there is a race
because this message might arrive after the netcat client
is already done, so it will exit without any error.

To prevent that error ignore the return code, stdout and stderr
for those calls. It is fine to ignore because all those changed
instances are checking packet count after the calls so if the
netcat fails for other reasons it will be detected by the packet
count check.

Signed-off-by: Ales Musil <amusil@redhat.com>
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
  • Loading branch information
almusil authored and dceara committed Mar 30, 2023
1 parent 1bec9e3 commit a58b237
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions tests/system-ovn.at
Original file line number Diff line number Diff line change
Expand Up @@ -4850,9 +4850,9 @@ NS_CHECK_EXEC([lsp], [tcpdump -l -nn -c 3 -i lsp ${filter} > lsp.pcap 2>tcpdump_
OVS_WAIT_UNTIL([grep "listening" tcpdump_err])

# Generate IPv4 UDP hairpin traffic.
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.88 4040 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.89 4040 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.90 2021 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.88 4040], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.89 4040], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([lsp], [echo a | nc -u 88.88.88.90 2021], [ignore], [ignore], [ignore])

# Check hairpin traffic.
OVS_WAIT_UNTIL([
Expand Down Expand Up @@ -4949,9 +4949,9 @@ NS_CHECK_EXEC([lsp], [tcpdump -l -nn -c 3 -i lsp $filter > lsp.pcap 2>tcpdump_er
OVS_WAIT_UNTIL([grep "listening" tcpdump_err])

# Generate IPv6 UDP hairpin traffic.
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0088 4040 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0089 4040 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0090 2021 &], [0])
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0088 4040], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0089 4040], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([lsp], [echo a | nc -u 8800::0090 2021], [ignore], [ignore], [ignore])

# Check hairpin traffic.
OVS_WAIT_UNTIL([
Expand Down Expand Up @@ -9132,17 +9132,17 @@ NS_CHECK_EXEC([vm1], [nc 66.66.66.66 666 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [nc 66.66.66.66 666 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [nc 66.66.66.66 666 -z], [0], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [echo a | nc -u 66.66.66.66 777 &], [0])
NS_CHECK_EXEC([vm2], [echo a | nc -u 66.66.66.66 777 &], [0])
NS_CHECK_EXEC([vm3], [echo a | nc -u 66.66.66.66 777 &], [0])
NS_CHECK_EXEC([vm1], [echo a | nc -u 66.66.66.66 777], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [echo a | nc -u 66.66.66.66 777], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [echo a | nc -u 66.66.66.66 777], [ignore], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [nc 66.66.66.66 888 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [nc 66.66.66.66 888 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [nc 66.66.66.66 888 -z], [0], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [echo a | nc -u 66.66.66.66 999 &], [0])
NS_CHECK_EXEC([vm2], [echo a | nc -u 66.66.66.66 999 &], [0])
NS_CHECK_EXEC([vm3], [echo a | nc -u 66.66.66.66 999 &], [0])
NS_CHECK_EXEC([vm1], [echo a | nc -u 66.66.66.66 999], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [echo a | nc -u 66.66.66.66 999], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [echo a | nc -u 66.66.66.66 999], [ignore], [ignore], [ignore])

OVS_WAIT_UNTIL([
requests=`grep "UDP" -c vm1.pcap`
Expand Down Expand Up @@ -9271,17 +9271,17 @@ NS_CHECK_EXEC([vm1], [nc 6666::1 666 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [nc 6666::1 666 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [nc 6666::1 666 -z], [0], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [echo a | nc -u 6666::1 777 &], [0])
NS_CHECK_EXEC([vm2], [echo a | nc -u 6666::1 777 &], [0])
NS_CHECK_EXEC([vm3], [echo a | nc -u 6666::1 777 &], [0])
NS_CHECK_EXEC([vm1], [echo a | nc -u 6666::1 777], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [echo a | nc -u 6666::1 777], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [echo a | nc -u 6666::1 777], [ignore], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [nc 6666::1 888 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [nc 6666::1 888 -z], [0], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [nc 6666::1 888 -z], [0], [ignore], [ignore])

NS_CHECK_EXEC([vm1], [echo a | nc -u 6666::1 999 &], [0])
NS_CHECK_EXEC([vm2], [echo a | nc -u 6666::1 999 &], [0])
NS_CHECK_EXEC([vm3], [echo a | nc -u 6666::1 999 &], [0])
NS_CHECK_EXEC([vm1], [echo a | nc -u 6666::1 999], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm2], [echo a | nc -u 6666::1 999], [ignore], [ignore], [ignore])
NS_CHECK_EXEC([vm3], [echo a | nc -u 6666::1 999], [ignore], [ignore], [ignore])

OVS_WAIT_UNTIL([
requests=`grep "UDP" -c vm1.pcap`
Expand Down

0 comments on commit a58b237

Please sign in to comment.