[ovs-dev] [PATCH v2 0/5] ovn: Add HA chassis group and 'external' port support

nusiddiq at redhat.com nusiddiq at redhat.com
Wed Feb 27 10:36:06 UTC 2019


From: Numan Siddique <nusiddiq at redhat.com>


This patch series adds a generic HA chassis group support in OVN
deprecating the existing Gateway chassis support. The final patch
of the series adds the 'external' port support in OVN.
The 'external' port patch addresses the review comments from Han Zhou
which he provided when 'external' port patch was submitted without
the HA support.

A generic HA chassis group support is added so that both the distributed
logical router ports (providing gateway functionality) and 'external'
ports can use it for HA and also to simplify the existing HA code
(which seems to be a bit complicated).

To support HA, BFD is configured on tunnel ports. And even though
'external' ports are expected to be used with the logical
switches having localnet ports (representing physical networks),
BFD is used for now since each chassis uses geneve tunnels with
all other chassis in the OVN cluster.


v1 -> v2
-------
   * Rebased as there were merge conflicts
   * Addressed the review comment from Han in the patch 1.


Numan Siddique (5):
  ovn-northd: Reuse the hmaps - datapaths and ports in ovnsb_db_run()
  ovn: Add generic HA chassis group
  ovn-controller: Make use of ha_chassis_group table to bind the
    chassisredirect ports
  ovn-northd: Delete the references to gateway_chasss in SB DB
  ovn: Support a new Logical_Switch_Port.type - 'external'

 NEWS                            |    3 +
 ovn/controller/automake.mk      |    4 +-
 ovn/controller/bfd.c            |  229 +++----
 ovn/controller/bfd.h            |   11 +-
 ovn/controller/binding.c        |   31 +-
 ovn/controller/binding.h        |    1 -
 ovn/controller/gchassis.c       |  222 -------
 ovn/controller/gchassis.h       |   71 ---
 ovn/controller/ha-chassis.c     |  203 ++++++
 ovn/controller/ha-chassis.h     |   50 ++
 ovn/controller/lflow.c          |   29 +-
 ovn/controller/lflow.h          |    3 +-
 ovn/controller/ovn-controller.c |   14 +-
 ovn/controller/physical.c       |  109 ++--
 ovn/controller/physical.h       |    3 +-
 ovn/controller/pinctrl.c        |   38 +-
 ovn/controller/pinctrl.h        |    1 -
 ovn/lib/chassis-index.c         |   26 +
 ovn/lib/chassis-index.h         |    4 +
 ovn/lib/ovn-util.c              |    1 +
 ovn/northd/ovn-northd.8.xml     |   37 +-
 ovn/northd/ovn-northd.c         |  781 ++++++++++++++++-------
 ovn/ovn-architecture.7.xml      |   71 +++
 ovn/ovn-nb.ovsschema            |   42 +-
 ovn/ovn-nb.xml                  |  132 ++++
 ovn/ovn-sb.ovsschema            |   43 +-
 ovn/ovn-sb.xml                  |   63 ++
 ovn/utilities/ovn-nbctl.8.xml   |   41 ++
 ovn/utilities/ovn-nbctl.c       |  221 +++++++
 ovn/utilities/ovn-sbctl.c       |    6 +
 tests/ovn-northd.at             |  396 +++++++++++-
 tests/ovn.at                    | 1031 ++++++++++++++++++++++++++++++-
 32 files changed, 3061 insertions(+), 856 deletions(-)
 delete mode 100644 ovn/controller/gchassis.c
 delete mode 100644 ovn/controller/gchassis.h
 create mode 100644 ovn/controller/ha-chassis.c
 create mode 100644 ovn/controller/ha-chassis.h

-- 
2.20.1



More information about the dev mailing list