neutron/neutron/services
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
..
auto_allocate Start enforcing E125 flake8 directive 2019-07-19 23:39:41 -04:00
conntrack_helper Conntrack Helper - Plugin 2019-08-29 10:41:04 +02:00
externaldns Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
flavors use api def ALIAS in supported_extension_aliases 2019-04-08 08:30:20 -06:00
l3_router Implement extension: extraroute-atomic 2019-09-11 13:58:47 +02:00
logapi Bump oslo.log to version 4.2.1 2020-06-05 14:45:55 -04:00
loki use sqla functions from neutron-lib 2018-07-25 21:04:20 +00:00
metering Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
network_ip_availability use api def ALIAS in supported_extension_aliases 2019-04-08 08:30:20 -06:00
network_segment_range Use segment range exceptions from neutron-lib 2019-05-02 07:03:30 +08:00
ovn_l3 [OVN] Add support for router availability zones 2020-06-24 09:15:01 +01:00
placement_report Locate RP-tree parent by hypervisor name 2019-12-10 10:21:53 +01:00
portforwarding port_forwarding: extend support for OVN usage (cont.) 2020-06-08 18:58:47 -04:00
qos Refactor OVN client QoS extension 2020-04-10 13:11:00 +00:00
rbac Neutron RBAC API and network support 2015-08-20 20:00:17 -07:00
revisions use api def ALIAS in supported_extension_aliases 2019-04-08 08:30:20 -06:00
segments Delete segment RPs when network is deleted 2020-05-25 09:10:41 +00:00
tag Implement tagging during bulk port creation 2020-01-28 18:23:37 -06:00
timestamp remove the neutron.db._model_query module 2019-01-25 08:55:25 -07:00
trunk Revert "Subcribe trunk & subport events to set subport id" 2020-04-01 14:06:40 +02:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
provider_configuration.py Merge "Select service_provider on the basis of service_module" 2018-11-15 12:47:09 +00:00
service_base.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00