[ovs-git] [openvswitch/ovs] dc65a0: ovn: l3ha, NBDB and SBDB changes and documentation

GitHub noreply at github.com
Sun Jul 16 19:51:08 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: dc65a07c6641d7200eb59e125589dd79e19a0aa9
      https://github.com/openvswitch/ovs/commit/dc65a07c6641d7200eb59e125589dd79e19a0aa9
  Author: majopela at redhat.com <majopela at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/ovn-nb.ovsschema
    M ovn/ovn-nb.xml
    M ovn/ovn-sb.ovsschema
    M ovn/ovn-sb.xml

  Log Message:
  -----------
  ovn: l3ha, NBDB and SBDB changes and documentation

This commit introduces the north and south db changes necessary for
the l3ha router implementation.

It defines a new Table in both NBDB and SBDB.

The Gateway_Chassis table is created, with a tiny difference between
NBDB and SBDB, NBDB references the chassis via it's name (chassis_name)
and SBDB references the chassis via reference (chassis) to the Chassis table.

In NBDB a new column (gateway_chassis) is added to Logical_Router_Ports
with a list of Gateway_Chassis which can be empty.

In SBDB a new column (gateway_chassis) is added to Port_Binding with
the same list, this column will be used for ports of type chassis-redirect.

Bump minor version since we've added new backwards compatible features.

Co-authored-by: Russell Bryant <russell at ovn.org>
Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: b86f476778ea373f1c968cfc1b3054f18120d220
      https://github.com/openvswitch/ovs/commit/b86f476778ea373f1c968cfc1b3054f18120d220
  Author: majopela at redhat.com <majopela at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/lib/automake.mk
    A ovn/lib/chassis-index.c
    A ovn/lib/chassis-index.h
    M ovn/northd/ovn-northd.c
    M tests/automake.mk
    A tests/ovn-northd.at
    M tests/testsuite.at

  Log Message:
  -----------
  ovn: l3ha, ovn-northd gateway chassis propagation

The redirect-chassis option of logical router ports is now
translated to Gateway_Chassis entries for backwards compatibility.

Gateway_Chassis entries in nbdb are copied over to sbdb and
linked them to the Chassis entry.

Co-authored-by: Anil Venkata <vkommadi at redhat.com>
Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Anil Venkata <vkommadi at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: 1da17a0b067e83b67b7b7451fcf2c90fc2109a9e
      https://github.com/openvswitch/ovs/commit/1da17a0b067e83b67b7b7451fcf2c90fc2109a9e
  Author: majopela at redhat.com <majopela at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/controller/automake.mk
    M ovn/controller/binding.c
    M ovn/controller/binding.h
    A ovn/controller/gchassis.c
    A ovn/controller/gchassis.h
    M ovn/controller/lflow.c
    M ovn/controller/lport.h
    M ovn/controller/ovn-controller.c
    M ovn/controller/physical.c
    M ovn/controller/physical.h
    M ovn/northd/ovn-northd.c
    M tests/ovn-northd.at
    M tests/ovn.at

  Log Message:
  -----------
  ovn: l3ha, handling of multiple gateway chassis

This patch handles multiple gateway_chassis within chassisredirect
ports. All the gateway_chassis within chassisredirect port
will implement the rules to de-encapsulate incoming packets
for such port (please note that later patches in the series
will make is_chassis_redirect conditionals aware of the
MASTER/BACKUP status of the chassis).

Hosts targeting a remote chassisredirect port will setup a
bundle(active_backup, ..) action to each tunnel port, in the given
priority order. Following patches will enable BFD to detect
when a remote gateway chassis is no longer reachable.

Co-authored-by: Venkata Anil Kommaddi <vkommadi at redhat.com>
Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Venkata Anil Kommaddi <vkommadi at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: 3475695ea61c4f82bf8b4fd5590c84538c95916e
      https://github.com/openvswitch/ovs/commit/3475695ea61c4f82bf8b4fd5590c84538c95916e
  Author: Venkata Anil <anilvenkata at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/controller/automake.mk
    A ovn/controller/bfd.c
    A ovn/controller/bfd.h
    M ovn/controller/binding.c
    M ovn/controller/binding.h
    M ovn/controller/ovn-controller.c
    M ovn/controller/ovn-controller.h
    M tests/ovn.at

  Log Message:
  -----------
  ovn: l3ha, enable bfd between tunnel endpoints

This patch enables bfd protocol between gateways and transport nodes,
all gateway nodes with any HA chassisredirect port will enable BFD
to all tunnel endpoints, while transport nodes will enable BFD
to all tunnel endpoints hosting an HA gateway chassisredirect port.

Signed-off-by: Venkata Anil <vkommadi at redhat.com>
Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Co-Authored-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: 508b7f961bd6e0b4a1a5f28201c3b68602c2d256
      https://github.com/openvswitch/ovs/commit/508b7f961bd6e0b4a1a5f28201c3b68602c2d256
  Author: majopela at redhat.com <majopela at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/controller/binding.c
    M ovn/controller/gchassis.c
    M ovn/controller/gchassis.h
    M ovn/controller/lflow.c
    M ovn/controller/lflow.h
    M ovn/controller/lport.c
    M ovn/controller/lport.h
    M ovn/controller/ovn-controller.c
    M ovn/controller/physical.c
    M ovn/controller/physical.h
    M tests/ovn.at

  Log Message:
  -----------
  ovn: l3ha, make is_chassis_active aware of gateway_chassis

is_chassis_active now is only true for redirect-chassis ports
in the case of the specific lport being active on the
local chassis.

This will naturally make the ARP responder / redirection openflow
rules automatically inserted/removed when a router goes active/backup
in a way that BACKUP routers won't respond to ARP on gateway ports,
and they won't route packets that arrive on the wrong gateway
chassis (that can happen until all hypervisors converge in the
new MASTER thanks to the BFD monitoring of the tunnel endpoints).

Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: acfc41ffa1b305f0c6fc7db8fecde4b8979e5743
      https://github.com/openvswitch/ovs/commit/acfc41ffa1b305f0c6fc7db8fecde4b8979e5743
  Author: Venkata Anil Kommaddi <vkommadi at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/controller/ovn-controller.c
    M ovn/controller/pinctrl.c
    M ovn/controller/pinctrl.h
    M tests/ovn.at

  Log Message:
  -----------
  ovn: l3ha, gratuitous ARP for HA router

This patch extends gratuitous ARP support for NAT addresses so that it
applies to centralized NAT rules on a HA router.
Gratuitous ARP packets for centralized NAT rules on a HA router
are only generated on the active gateway chassis.

Signed-off-by: Anil Venkata <vkommadi at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


  Commit: 79371ff526454f95280d3e12a805c7e37a213957
      https://github.com/openvswitch/ovs/commit/79371ff526454f95280d3e12a805c7e37a213957
  Author: majopela at redhat.com <majopela at redhat.com>
  Date:   2017-07-16 (Sun, 16 Jul 2017)

  Changed paths:
    M ovn/northd/ovn-northd.c
    M tests/ovn.at

  Log Message:
  -----------
  ovn: l3ha ensure no master bouncing when ovn-controller is restarted

When ovn-controller is restarted, ovn-controller removes the old
Chassis entry from the SBDB and a new one is inserted.

This cleared the Gateway_Chassis chassis column in the SBDB and then
ovn-northd removed the empty-column Gateway_Chassis entry.
Such event made the other (non-restarted and master gateway chassis)
believe that he was a single (non-HA) gateway, turning off BFD and
releasing the port for a tiny time frame causing unnecesary downtime.

Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/75754d0426db...79371ff52645


More information about the git mailing list