On 11/11/20 1:30 AM, Ben Pfaff wrote:
> On Mon, Nov 09, 2020 at 02:44:53PM +0100, Dumitru Ceara wrote:
>> There are a few others that are ddlog-related:
>>
>> 145: ovn -- /32 router IP address -- ovn-northd-ddlog FAILED
>> (ovs-macros.at:231)
>>
>> This is because the following logical flows are not added to the SB by
>> ovn-northd-ddlog:
>> table=14(ls_in_arp_rsp      ), priority=100  , match=(arp.tpa ==
>> 10.0.0.2 && arp.op == 1 && inport == "alice1"), action=(next;)
>> table=14(ls_in_arp_rsp      ), priority=50   , match=(arp.tpa ==
>> 10.0.0.2 && arp.op == 1), action=(eth.dst = eth.src; eth.src =
>> f0:00:00:01:02:04; arp.op = 2; /* ARP reply */ arp.tha = arp.sha;
>> arp.sha = f0:00:00:01:02:04; arp.tpa = arp.spa; arp.spa = 10.0.0.2;
>> outport = inport; flags.loopback = 1; output;)
> 
> Hmm, I don't see this failure, and the diff I see between the flow
> tables is empty if I filter uuids and drop the inconsistent use of /32
> suffixes, e.g.:
> 
>     diff -u <(uuidfilt tests/testsuite.dir/144/sbflows | sed 's,/32,,g') 
> <(uuidfilt tests/testsuite.dir/145/sbflows | sed 's,/32,,g')
> 
> I wonder why we see something different, is this racy for you?
> 

It was failing at every run on my machine (I guess I was unlucky).
However, it seems that there is a race condition.  The diff below fixes
it.  I'll comment though on v4.1 4/7 where this should be added.

The explanation is that at "ovn-nbctl --wait=hv sync" ovn-controller
reports immediately that it is "up to date" if the OVS interface record
updates have not been received yet from ovsdb, i.e., it has no local
datapaths so no OVS flows to install (yet).

Thanks,
Dumitru

diff --git a/tests/ovn.at b/tests/ovn.at
index d30f55622..e12f3b668 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -11074,6 +11074,9 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \
 OVN_POPULATE_ARP

 # Allow some time for ovn-northd and ovn-controller to catch up.
+OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up foo1` = xup])
+OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up alice1` = xup])
+
 check ovn-nbctl --wait=hv sync

 ovn-sbctl dump-flows > sbflows

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to