Comment 0 for bug 2019217

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

The OVN L3 port scheduler assigns the chassis for the router ports. It retrieves the chassis list that are configured as gateway nodes (external_ids:ovn-cms-options=enable-chassis-as-gw). This list could be also filtered by availability zones; the scheduler will filter out those chassis without the requested AZ.

In case of not returning any chassis ("candidates") [1], the scheduler assumes that "any hypervisor/chassis can host a router gateway port" (from the patch [2] introducing this functionality).

The scope of this patch is to revert this default behaviour. If there are no candidates available, the L3 scheduler will fail and report the issue. The OVN router port won't be scheduled in any chassis. This error will be written in the logs. If that comes from an API call (for example when assigning an external GW to a router), the call will fail.

[1]https://opendev.org/openstack/neutron/src/commit/47d4ec4e99d5aae62656c88206eb6a77f70d4a8b/neutron/scheduler/l3_ovn_scheduler.py#L63
[2]https://review.opendev.org/c/openstack/networking-ovn/+/332434