Hi Xavier, Mark,

On 9/21/23 15:27, Xavier Simonart wrote:
> Hi Mark
> 
> Thanks for the review. See comments below.
> Thanks
> Xavier
> 
> 
> On Tue, Sep 19, 2023 at 5:29 PM Mark Michelson <mmich...@redhat.com> wrote:
> 
>> Thanks for the patch set Xavier.
>>
>> With the exception of patch 13:
>>
>> Acked-by: Mark Michelson <mmich...@redhat.com>
>>
>> I'm acking the patch set, but the nature of these changes worries me. I
>> could easily see another patch series like this needed in the future
>> because it's too easy to write flaky tests. Here are some high-level
>> ideas I have based on changes I see in these patches.
>>
>> +1

I'm planning to apply the patches that have no ongoing discussion, that
is: 1-3, 6-11, 13.

For the rest I'll wait for the discussion to settle or for a v2.  Some
more remarks inline.

Thanks a lot for improving the tests, that's a very important aspect!

> 
>> 1) From patches 12 and 15: Should we change ovn_start() so that by
>> default it does not start a backup northd process? I suspect the number
>> of tests that rely on a backup northd process are very small.
>>
> Changing this would impact all tests, including all which do not query
> ovn-northd through appctl, and hence do not suffer from this issue.
> However, I am not sure that starting northd-backup makes so much sense,
> even for those tests.
> So I agree. If nobody disagrees, I will change the default in ovn-start
> (i.e. default = w/o northd), and add an option --with-northd-backup for the
> tests which require the backup to be running)
> 

+1 for this.  I guess it will also positively impact run times in
constrained environments like GitHub CI.

>>
>> 2) From patch 5 and possibly patch 14: Should we add a new --wait option
>> to ovn-nbctl (e.g. "--wait=ovs") that waits for OVS to provide a
>> confirmation that flows from this ovn-nbctl call have been installed?
>>
> This one is more complex. Waiting for some flows to be present was an easy
> way to fix test cases for which wait_for_port_up was not sufficient (either
> because flows are added later, such as remote ports related ones, or
> because port_up itself is reported too early by ovn-controller).The proper
> fix might require changing ovn-controller so that it reports ports up
> correctly.
> 

This is more of a test issue IMO; I think people expect eventual
consistency from OVN so the current behavior should be fine, just harder
to test.  I'd vote for a change in the test instead of complex changes
to ovn-controller.

>>
>> 3) From patch 4: Would it be possible to provide a "blocking" version of
>> `ovn-appctl -t ovn-controller exit` ? In other words, could we make a
>> version that will not return control to the shell until the process has
>> exited?
> 
> I guess we could do something like "if command is exit (or a new one such
> as exit_wait - so we can keep current behaviour), then get the pid through
> unixctl, send the exit, and check for pid termination with a timeout"
> 
> Barring that, we could write a macro for ovn-macros.at that will
>> call `ovn-appctl -t ovn-controller exit` and then block until the
>> process has exited. We could then always call that macro when we want to
>> shut ovn-controller down.
>>
> I'll add the macro in a v2 - it's a small change. Nothing prevents up to
> add the blocking ovn-appctl exit afterwards (and change the macro)
> 

Ales just posted this patch, would it work?

https://patchwork.ozlabs.org/project/ovn/patch/20231006070218.308957-1-amu...@redhat.com/

>>
>>
> There is at least one more similar issue I noted: some tests fail because
> pinctrl is slow to start (and first packets arrive before it's started),
> and packets are lost.
> I earlier added in some tests WAIT_UNTIL checking ovn-controller.log that
> pinctl is connected, but this should be done for more tests.
> We could change the tests for this, or update ovn-controller so that it
> only starts looping when pinctrl is connected
> 

+1 for delaying ovn-controller main processing loop start.

> Thanks
> Xavier
> 

Regards,
Dumitru

> On 9/18/23 12:46, Xavier Simonart wrote:
>>> Xavier Simonart (15):
>>>    tests: fixed multiple ovn-ic tests
>>>    tests: fixed "Logical router policy packet marking"
>>>    tests: fixed "options:requested-chassis for logical port"
>>>    tests: tests fixed "Encaps tunnel cleanup ..." and "ovn-controller
>>>      exit"
>>>    tests: wait for all flows to be installed before sending packets
>>>    tests: fixed multiple tests not    properly waiting for packets to
>>>      be received
>>>    tests: fixed multiple tests missing ovn-nbctl "wait"
>>>    tests: fixed "L2 Drop and Allow ACL w/ Stateful ACL"
>>>    tests: skip test "MAC binding aging" if scapy not available.
>>>    tests: move trim_zeros() to ovn-macros
>>>    tests: fixed "send gratuitous ARP for NAT rules on HA distributed
>>>      router"
>>>    tests: fixed "SCTP Load balancer health checks"a
>>>    tests: fixed "LSP incremental processing"
>>>    tests: fixed "ipsec -- basic configuration"
>>>    tests: do not start northd-backup for northd tests querying northd
>>>
>>>   tests/ovn-ic.at     |  14 +-
>>>   tests/ovn-ipsec.at  |   4 +-
>>>   tests/ovn-macros.at |   4 +
>>>   tests/ovn-northd.at |  27 ++-
>>>   tests/ovn.at        | 484 ++++++++++++++++----------------------------
>>>   5 files changed, 207 insertions(+), 326 deletions(-)
>>>
>>
>>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

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

Reply via email to