[ovs-dev] [PATCH v4 0/2] ovn: Check for effects of incremental processing

Mark Michelson mmichels at redhat.com
Mon Jun 25 21:41:05 UTC 2018


For the series:

Acked-by: Mark Michelson <mmichels at redhat.com>

Really great job on the test code! You made something that could be very 
obtuse into something easily readable and understandable.

On 06/07/2018 06:38 AM, Jakub Sitnicki wrote:
> (This patch set depends on v3 of the "ovn-controller incremental processing"
> patch set [1].)
> 
> At the moment we lack tests that confirm that incremental logical flow
> processing is working as expected. This patch set aims to address this.
> 
> The approach to testing is, in short, to observe if we hit the coverage counter
> for full logical processing routine in ovn-controller (the 'lflow_run' function)
> while performing various operations, like adding a logical switch port.
> 
> We've agreed with Han Zhou to fold these patches into the next version of
> "ovn-controller incremental processing" patch set.
> 
> Thanks,
> Jakub
> 
> [1] https://patchwork.ozlabs.org/project/openvswitch/list/?series=48060
> 
> v3 -> v4:
> - Perform a 'sync' after operations that don't change the database (i.e., reads)
>    to confirm that HVs have caught up even though we expect them to have nothing
>    to process. Suggested by Han Zhou.
> - Wait for chassis to process the 'ls-del' and 'lr-del' changes.
> 
> v2 -> v3:
> - Remove unneeded call to coverage_clear(). Suggested by Han Zhou.
> - Check that port binding and deletion triggers logical flow processing only on
>    chassis the port is bound to. Suggested by Han Zhou.
> - Check the coverage counters for port binding after the port goes up. Suggested
>    by Han Zhou.
> - Introduce EXPECT_HIT_COND macro to check for a hit on a coverage counter
>    according to condition given separately for each sandbox.
> - Update the test to expect to 'lflow_run' counter hit for address set
>    operations.
> - Switch from 'expr' to '$((' for evaluating arithmetic expressions.
> - Make EXPECT_HIT macro expect a counter hit in all instead of any of the
>    sandboxes.
> - Log to standard error coverage counters' change for each run command to make
>    debugging test failures easier.
> - Add helpers for comparing vectors against a list of conditions, and folding a
>    vector. Use them to implement the high-level assertion macros.
> - Fix quoting of special characters in m4 macro arguments.
> - Fix typo in read_counters helper.
> - Fix indentation.
> 
> v1 (RFC) -> v2:
> - Drop the merged patch that introduced a coverage counter for lflow_run().
> - Rename the proposed new coverage command from 'read-count' to 'read-counter'.
> - Read the total count for a coverage counter while holding the mutex.
> - Cover the newly added coverage command in the man page.
> - Drop the changes that test for full logical flow processing when handling
>    packet-ins. Plan is to address this in a separate test in subsequent patches.
> - Add a new test that checks which operations commonly used by CMS trigger full
>    logical flow processing in the ovn-controller.
> 
> 
> Jakub Sitnicki (2):
>    coverage: Add command for reading counter value
>    ovn: Test for full logical flow processing in ovn-controller
> 
>   lib/coverage-unixctl.man |   2 +
>   lib/coverage.c           |  42 +++++
>   tests/automake.mk        |   3 +-
>   tests/ovn-performance.at | 389 +++++++++++++++++++++++++++++++++++++++++++++++
>   tests/testsuite.at       |   1 +
>   5 files changed, 436 insertions(+), 1 deletion(-)
>   create mode 100644 tests/ovn-performance.at
> 
> --
> 2.14.4
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 



More information about the dev mailing list