The commit in the fixes tag introduced a system test that configure
load balancers with multiple backends.

Load balancers are implemented with the group action with equally
weighted buckets.

One of the assertions in the added system test are on there being
exactly one backends being utilized, and this assertion assumes
that the first bucket of the group will be used.

As demonstrated by the reported bug, this is not a correct
assumption, and factors such as system architecture may play a
role in which bucket will be selected.

Since the purpose of the assertion is to confirm only one backend
is utilized, we do not need to match on the exact IP address.

Clear the reply src value, allowing us to assert on there being one
data path flow, regardless of which bucket is chosen.

Reported-at: https://launchpad.net/bugs/2104227
Fixes: 15ab046e12cd ("northd: Add ipv6_{src, dst} to selection_fields column in 
the NB db.")
Signed-off-by: Frode Nordahl <fnord...@ubuntu.com>
---
 tests/system-ovn.at | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

A successufl test run on s390x architecture can be viewed here:
https://github.com/canonical/ubuntu-ovn-robot/actions/runs/14798878414

diff --git a/tests/system-ovn.at b/tests/system-ovn.at
index 6e71286ad..b3990d848 100644
--- a/tests/system-ovn.at
+++ b/tests/system-ovn.at
@@ -2024,8 +2024,9 @@ done
 
 # Only one backend should be chosen.
 AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(30.0.0.1) | \
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
-tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
+sed -e 's/zone=[[0-9]]*/zone=<cleared>/' \
+    -e 's/src=172.16.1.[[0-9]]*/src=<cleared>/'], [0], [dnl
+tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=<cleared>,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
 
 for i in $(seq 1 20); do
@@ -2035,8 +2036,9 @@ done
 
 # Only one backend should be chosen.
 AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fd03::2) | \
-sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
-tcp,orig=(src=fd01::2,dst=fd03::2,sport=<cleared>,dport=<cleared>),reply=(src=fd02::2,dst=fd01::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
+sed -e 's/zone=[[0-9]]*/zone=<cleared>/' \
+    -e 's/src=fd02::[[0-f]]*/src=<cleared>/'], [0], [dnl
+tcp,orig=(src=fd01::2,dst=fd03::2,sport=<cleared>,dport=<cleared>),reply=(src=<cleared>,dst=fd01::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
 ])
 
 # Test load-balancing using IP src and IP dst.
-- 
2.43.0

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to