neutron/neutron/common
Lucas Alvares Gomes d669dff1dc [OVN] Add support for router availability zones
This patch is adding support for the router_availability_zone extension
for Neutron.

The OVN driver will now read from the router's availability_zone_hints
field and schedule the router ports onto OVN chassis belonging to those
AZs.

Since the OVN driver does not rely on the L3 agent, this patch does not
re-use the configuration option for the agent to configure the
availability zone that a Chassis belongs to (even because there's no
configuration file in nodes such as networker nodes). Instead, this
patch reuses the "ovn-cms-options" field from the local OVSDB to
configure the Chassis. The follow syntax has been used:

$ ovs-vsctl set Open_VSwitch .
external-ids:ovn-cms-options="enable-chassis-as-gw,availability-zones=az0:az1"

In the example above, the Chassis has been configured to belong to two
AZs: "az0" and "az1".

This patch also implements listing the availability zones:
$ openstack availability zone list

As well as validating the router's availability zone hints:
$ openstack router create --availability-zone-hint az0
--availability-zone-hint az1 test_router

The above command would fail if there's no "az0" and "az1" configured in
any OVN chassis.

Documentation for this feature is being written and will be submitted
in a separated patch.

Partial-Bug: #1881095
Change-Id: I4567f3d541d382b6432c1ab3d35276d81ce71d82
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-06-24 09:15:01 +01:00
..
ovn [OVN] Add support for router availability zones 2020-06-24 09:15:01 +01:00
__init__.py Update License Headers to replace Nicira with VMware 2014-02-27 08:11:15 +00:00
_constants.py Fix queries to retrieve allocations with network_segment_range 2020-02-28 12:34:13 +00:00
_deprecate.py Fix flake8 N534 untranslated exception message 2018-10-19 15:46:04 -04:00
cache_utils.py Fix return correct cache when reusing port 2020-03-27 16:48:57 +04:00
config.py Enable ovsdb debug messages in functional and fullstack 2020-01-29 17:11:44 +00:00
coordination.py Remove usage of six.PY2 2020-05-22 12:59:01 -04:00
eventlet_utils.py Monkey patch original current_thread _active 2020-05-01 16:05:16 -04:00
ipv6_utils.py Adding check for IPv6 address in setup_controllers 2019-10-29 15:10:25 +00:00
profiler.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00
test_lib.py Revert "Removed test_lib module" 2015-06-29 08:27:41 +00:00
utils.py Make NeutronOvsdbIdl singleton 2020-06-03 10:50:33 +00:00