Use AZLeastRoutersScheduler by default

Neutron uses an AZ-unaware scheduler (LeastRoutersScheduler) by default
in its configuration and the neutron-api charm does not override it.

AZLeastRoutersScheduler inherits from LeastRoutersScheduler and does the
same, plus respects AZ hints when scheduling HA routers.

For --distributed --ha routers using AZLeastRoutersScheduler means that
snat namespaces will be scheduled with respect to the AZ hints specified
during router creation by an operator.

For --ha but not distributed routers using AZLeastRoutersScheduler means
that qrouter namespaces will be scheduled with respect to the AZ hints.

snat namespaces (--ha & --distributed) and qrouter namespaces (--ha
only) are placed by the scheduler to l3 agents that run in the dvr_snat
mode only so the scheduler change will affect both the deployments with
neutron-gateway units and the ones with neutron-openvswitch running with
use-dvr-snat=True.

Change-Id: I98cd67ff0cf5418a9699acc7aff96c3edb9b2341
Closes-Bug: #1886195
This commit is contained in:
Dmitrii Shcherbakov
2020-10-28 13:31:30 +03:00
parent a32af1b98b
commit a155e9cf11
11 changed files with 36 additions and 0 deletions

View File

@@ -35,6 +35,9 @@ allow_automatic_dhcp_failover = {{ allow_automatic_dhcp_failover }}
network_scheduler_driver = {{ network_scheduler_driver }}
dhcp_load_type = {{ dhcp_load_type }}
{% endif -%}
{% if router_scheduler_driver -%}
router_scheduler_driver = {{ router_scheduler_driver }}
{% endif -%}
{% if neutron_bind_port -%}
bind_port = {{ neutron_bind_port }}