This series adds support to run multiple ovn-controller instances using
the same vswitchd instance. This may be used to reuse a single host
level vswitchd installation to run multiple CMS (e.g. k8s and
openstack), each having its own OVN stack running on a separate
integration bridge.

This setup may, in some instances, simplify administration of the
system, since the admin no longer needs to maintain separate vswitchd
installations (e.g. in separate containers). This is also helpful when
running different datapath types for the mixed setup.

v1: initial series
v2: change tunnel port naming scheme: include "chassis index" instead of
    its name for source chassis.
v2: formatting adjustments.
v3: fixed build due to ovs_abort missing arguments.
v3: added documentation to CLI and system-id-override file.
v3: added documentation for chassis specific db config options.
v3: documented the ability to run multiple controllers on the same host,
    while mentioning that this support is highly experimental.
v3: updated NEWS file to include the note about the new experimental
    issue.
v3: rebased.
v4: fixed a memory leak in get_chassis_idx.
v5: actually fix the leak...
v6: fix race condition in new test cases where ssl db configuration was
    removed before ovn-controller has a chance to read it from db,
    making it fail to start and process ports
v7: addresses Mark's comments from v6, specifically:
    - 1/7: Clean up allocated index on exit
    - 1/7: Remove hardcoded 16 with sizeof(CHASSIS_IDX_PREFIX) - 1
    - 1/7: Explain in comments why the first chassis uses an empty
      string index and not “0”
    - 2/7: Document that requested-chassis should use unique chassis
      names, not hostnames
    - 2/7: Document that unique own-bridges should be used for multiple
      co-hosted controllers
    - 2/7: Reworked logic for get_chassis_external_value functions to
      avoid duplication with smap_get_<type> functions
    - 2/7: Use wait_column in tests
    - 3/7: Add information about the directory where system-id-override
      file is located
    - 3/7: Use FILE * functions from stdio.h instead of Unix lower level
      equivalents
    - 3/7: Use wait_column in tests
    - 4/7: Also validate that CLI takes precedence over override file,
      not only db
    - 4/7: Use wait_column in tests
    - 5/7: - (no changes)
    - 6/7: Move start_virtual_controller to ovn-macros.at to avoid code
      duplication
    - 6/7: Added comments explaining why test cases running two
      controllers use the same sandbox name for both
    - 7/7: - (no changes)
v8:
    - 1/7: fixed test case for ovn-chassis-idx population
    - 1/7: fixed SIGSEGV errors in chassis_cleanup for chassis index
v9:
    - 5/8: fixed tunnel ports cleanup test (it wasn't catching
           regressions)
    - 6/8: include "Don't delete patch ports that don't belong to
           br-int" patch similar to the one for tunnel ports
    - 8/8: explicitly mention in the documentation that stateful ACLs
           won't work as-is with the new feature.

Ihar Hrachyshka (8):
  Include "chassis index" into tunnel port name
  Support ovn-...-<chassis> specific global ovsdb options
  Allow to override system-id via file
  Support passing chassis name via CLI
  Don't touch tunnel ports from a different br-int
  Don't delete patch ports that don't belong to br-int
  Add connectivity test for 2 controllers on the same host
  Document experimental support for co-hosted controllers

 NEWS                            |   2 +
 controller/chassis.c            | 280 ++++++++++++++++++++-----
 controller/chassis.h            |  15 +-
 controller/encaps.c             |  76 +++----
 controller/encaps.h             |   1 -
 controller/ovn-controller.8.xml |  36 +++-
 controller/ovn-controller.c     | 186 ++++++++++++-----
 controller/patch.c              |  42 +++-
 controller/patch.h              |   2 +-
 controller/physical.c           |   2 +-
 lib/ovn-util.c                  |  79 +++++++
 lib/ovn-util.h                  |  26 +++
 ovn-nb.xml                      |   8 +
 tests/automake.mk               |   1 +
 tests/ovn-macros.at             |  36 +++-
 tests/ovn.at                    | 360 ++++++++++++++++++++++++++++++++
 tests/ovs-macros.at             |   2 +
 17 files changed, 992 insertions(+), 162 deletions(-)

-- 
2.38.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to