From e5f635ee4fd1fe8a0bd2e5c58db068b51fc94c0b Mon Sep 17 00:00:00 2001 From: armando-migliaccio Date: Fri, 11 Sep 2015 02:32:42 -0700 Subject: [PATCH] Switch scheduler drivers to load based schedulers Cloud deployed at scale most likely will use these scheduler drivers because they allow a fairer resource allocation compared to chance schedulers (which randomly place resources on the hosts). Because of their importance, it's only wise to test them in the gate on a continuous basis, so that we do not get surprised by accidental regressions. Rather than pushing this down through devstack-gate/project-config patches, this chance alters the default of the scheduler drivers, so that users can also pick these up out of the box. This means that after an upgrade they would observe a change in the scheduling behavior, if they relied on the default config. DocImpact UpgradeImpact Closes-bug: #1494667 Change-Id: I5927914cb88eff66bc7a045340ff68cb8da95ad6 --- etc/neutron.conf | 4 ++-- neutron/db/agentschedulers_db.py | 2 +- neutron/db/l3_agentschedulers_db.py | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/etc/neutron.conf b/etc/neutron.conf index 591370f79..77f8d92f4 100644 --- a/etc/neutron.conf +++ b/etc/neutron.conf @@ -190,9 +190,9 @@ # =========== items for agent scheduler extension ============= # Driver to use for scheduling network to DHCP agent -# network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.ChanceScheduler +# network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler # Driver to use for scheduling router to a default L3 agent -# router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler +# router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler # Driver to use for scheduling a loadbalancer pool to an lbaas agent # loadbalancer_pool_scheduler_driver = neutron.services.loadbalancer.agent_scheduler.ChanceScheduler diff --git a/neutron/db/agentschedulers_db.py b/neutron/db/agentschedulers_db.py index 153a420b9..591db0d29 100644 --- a/neutron/db/agentschedulers_db.py +++ b/neutron/db/agentschedulers_db.py @@ -40,7 +40,7 @@ LOG = logging.getLogger(__name__) AGENTS_SCHEDULER_OPTS = [ cfg.StrOpt('network_scheduler_driver', default='neutron.scheduler.' - 'dhcp_agent_scheduler.ChanceScheduler', + 'dhcp_agent_scheduler.WeightScheduler', help=_('Driver to use for scheduling network to DHCP agent')), cfg.BoolOpt('network_auto_schedule', default=True, help=_('Allow auto scheduling networks to DHCP agent.')), diff --git a/neutron/db/l3_agentschedulers_db.py b/neutron/db/l3_agentschedulers_db.py index e5e19040e..b09586a9a 100644 --- a/neutron/db/l3_agentschedulers_db.py +++ b/neutron/db/l3_agentschedulers_db.py @@ -42,7 +42,8 @@ LOG = logging.getLogger(__name__) L3_AGENTS_SCHEDULER_OPTS = [ cfg.StrOpt('router_scheduler_driver', - default='neutron.scheduler.l3_agent_scheduler.ChanceScheduler', + default='neutron.scheduler.l3_agent_scheduler.' + 'LeastRoutersScheduler', help=_('Driver to use for scheduling ' 'router to a default L3 agent')), cfg.BoolOpt('router_auto_schedule', default=True, -- 2.45.2