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

Jakub Sitnicki jkbs at redhat.com
Wed Jun 6 14:19:32 UTC 2018


(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

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 | 386 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/testsuite.at       |   1 +
 5 files changed, 433 insertions(+), 1 deletion(-)
 create mode 100644 tests/ovn-performance.at

--
2.14.4


More information about the dev mailing list