Move common scheduler code from components to oslo
There are few OpenStack components which share the same "logic", but use its own implementation. Moving this part of code to oslo library potentially will help to improve quality of code and decrease cost of support.
Candidates:
host_manager.py
manager.py
scheduler_
filters/
manager/
Base manager for all services that should be inherited by all services.
Manager as a part of system should be work with any services for running any specific manipulations that inhereted service can do.
Here RPC dispatcher will be run and any pre- and post- started work can be determine.
DB driver init should be done in inherited classes.
scheduler/
Base manager class for hosts.
Host state object should be declared here.
This manager should define list of acceptable filters and weights for host, chose host by this accepted settings and update capabilities.
scheduler/
Base manager for schedule service. Should be inherited.
scheduler/
Main scheduler options.
Monitors a local .json file for changes and loads
it if needed. This file is converted to a data structure and passed
into the filtering and weighing functions which can use it for
dynamic configuration.
Can be use by all schedule services without redefinition.
scheduler/
Common filter for all components.
Filter out all nodes that have already been attempted for scheduling purposes.
Blueprint information
- Status:
- Started
- Approver:
- Mark McLoughlin
- Priority:
- Medium
- Drafter:
- Svetlana Shturm
- Direction:
- Approved
- Assignee:
- Svetlana Shturm
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Svetlana Shturm
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Addressed by: https:/
Move common scheduler code from components.
We have another approach how to make one scheduler instead of using common code.
So this seems like invalid -- boris-42
Work Items
Dependency tree
* Blueprints in grey have been implemented.