[OVN] Router availability zones support

Bug #1881095 reported by Lucas Alvares Gomes
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Lucas Alvares Gomes

Bug Description

Reference: https://docs.openstack.org/neutron/latest/admin/config-az.html

For feature parity, OVN needs to add support for the "router_availability_zone" extension.

This means that, when scheduling the logical router ports the OVN driver should take in consideration the router availability zones hints and only schedule the ports onto the nodes (or chassis in OVN terms) that belongs to those availability zones.

Differently from ML2/OVS, the OVN driver does not have L3 agents running on nodes such as networker nodes so we can't reuse the same agents configuration option. In OVN we will need to find another place to put this information.

Changed in neutron:
status: New → Confirmed
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
Changed in neutron:
status: Confirmed → In Progress
Changed in neutron:
importance: Undecided → Medium
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/733514

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/727791
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=d669dff1dcf0fbc2dc7ea0d2e0c88f244a1add4b
Submitter: Zuul
Branch: master

commit d669dff1dcf0fbc2dc7ea0d2e0c88f244a1add4b
Author: Lucas Alvares Gomes <email address hidden>
Date: Tue May 12 12:02:15 2020 +0100

    [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 <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/733514
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=f14a1b332d829289e9dff96f94b49491fbde9ec4
Submitter: Zuul
Branch: master

commit f14a1b332d829289e9dff96f94b49491fbde9ec4
Author: Lucas Alvares Gomes <email address hidden>
Date: Thu Jun 4 10:48:08 2020 +0100

    [OVN] Add router availability zones documentation

    This patch is adding documentation about the router availability zones
    feature in the OVN driver.

    Change-Id: I6c8267100e1ee82c8b563528467b50b91f7700f6
    Related-Bug: #1881095
    Signed-off-by: Lucas Alvares Gomes <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/ussuri)

Fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/738214

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/ussuri)

Reviewed: https://review.opendev.org/738214
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=53e99b76a24b3635e2cc862be12697200c8f60cf
Submitter: Zuul
Branch: stable/ussuri

commit 53e99b76a24b3635e2cc862be12697200c8f60cf
Author: Lucas Alvares Gomes <email address hidden>
Date: Tue May 12 12:02:15 2020 +0100

    [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 <email address hidden>
    (cherry picked from commit d669dff1dcf0fbc2dc7ea0d2e0c88f244a1add4b)

tags: added: in-stable-ussuri
Changed in neutron:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.