Bug 1042554 - [RFE][neutron]: Refactor l3_agent_scheduler.py to better accommodate adding additional scheduler classes
Summary: [RFE][neutron]: Refactor l3_agent_scheduler.py to better accommodate adding a...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/neut...
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-13 00:20 UTC by RHOS Integration
Modified: 2015-12-10 20:03 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-19 16:58:47 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description RHOS Integration 2013-12-13 00:20:37 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/neutron/+spec/l3-agent-scheduler-refactor.

Description:

Similar in function (but different in scope) to https://blueprints.launchpad.net/neutron/+spec/nvp-agent-scheduler-extension. As it stands today, the l3_agent_scheduler consists of one class, ChanceScheduler, under which much globally reusable code is defined.

I propose we move (and refactor) the auto_schedule_routers and schedule methods into a global base class (Scheduler, maybe?) and remove determining logic code from them. This will relegate them to globally reusable code which do nothing more than return a list of available agents.

This base class can then be superseded by multiple scheduler classes, which can apply the appropriate logic for choosing an agent from the available list and returning that value.

This should make the scheduler much more extensible and universally useful.

Specification URL (additional information):

None


Note You need to log in before you can comment on or make changes to this bug.