Message ID | 20180607103818.1313-1-jkbs@redhat.com |
---|---|
Headers | show |
Series | ovn: Check for effects of incremental processing | expand |
For the series: Acked-by: Mark Michelson <mmichels@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@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >