Bug 1041707

Summary: [RFE][cinder]: Scheduler Service Separation from API Service
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/cinder/+spec/independent-cinder-scheduler
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:44:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 18:44:29 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/cinder/+spec/independent-cinder-scheduler.

Description:

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.

Specification URL (additional information):

None