Scheduler Service Separation from API Service

Registered by Vincent Hou

So far when we install OpenStack, the scheduler service must be installed on the same controller node as the api service is. For example, nova-api and nova-scheduler are installed on the same controller node; cinder-api and cinder-scheduler are installed on the same controller node. There are some drawbacks. If the scheduler fails, the api on the same node fails too, since it is unable to send the messages to other schedulers; As the the requests to the api service increase, the scheduler can become a predicted bottleneck, because all the requests are queued along the way to it; The scheduler is configured with one sheduling algorithm, indicating that the api on the same node can use only one sheduling algorithm.

Advantages of the scheduler separation:
1. Decoupling the scheduler and api services makes it possible to install the scheduler on a
different node and the scheduler will have better scalability. If one scheduler fails, the api can direct the message to other available schedulers.
2. Other schedulers can be usd to balance the load.
3. It is possible for different requests to use different scheduling algorithms.

Disadvantages:
We need schedulers to select the backend storage or compute node. If the scheduler is separated, maybe additional algorithms are necessary to select the shedulers.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.