mbox series

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

Message ID 20190305154923.12154-1-nusiddiq@redhat.com
Headers show
Series ovn: Add HA chassis group and 'external' port support | expand

Message

Numan Siddique March 5, 2019, 3:49 p.m. UTC
From: Numan Siddique <nusiddiq@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.


v2 -> v3
------
   * Addressed the review comments from Han on patch 2.
      - Added the code to set the ref_chassis for cases where
        a logical port can reach a gateway router port via indirect
        connections.
      - Removed the deprecation message about Gateway_chassis in
        ovn-nb.xml

   * Rebased few patches to resolve merge conflicts.
 
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         |  869 +++++++++++++++++++-------
 ovn/ovn-architecture.7.xml      |   71 +++
 ovn/ovn-nb.ovsschema            |   42 +-
 ovn/ovn-nb.xml                  |  131 ++++
 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             |  567 ++++++++++++++++-
 tests/ovn.at                    | 1041 ++++++++++++++++++++++++++++++-
 32 files changed, 3329 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