For the series:

Acked-by: Mark Michelson <mmich...@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
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