[ovs-dev] [PATCH v4 0/2] ovn: Check for effects of incremental processing
jkbs at redhat.com
Thu Jun 7 10:38:16 UTC 2018
(This patch set depends on v3 of the "ovn-controller incremental processing"
patch set .)
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.
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
- Switch from 'expr' to '$((' for evaluating arithmetic expressions.
- Make EXPECT_HIT macro expect a counter hit in all instead of any of the
- 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
More information about the dev