Which nova-schduler will work if there are multiple nova-schdulers in openstack cluster?

Asked by Guangya Liu on 2012-06-04

Hi nova experts,

Here come a question may need your help.

As we know, we can have multiple nova-schedulers in one openstack cluster, my question is how openstack decide which nova-schduler will do the scheduler work?

Another is, since multiple nova-scheduler can do schedule work, so how can nova guarantee the resource selection? e.g. suppose there are three requests and three nova-scheduler do the work, each nova-scheduler handle one request, for this case, if there are 3 hosts in openstack cluster, how does nova-scheduler distribute the request?

Thanks for your help in advance!

Guangya Liu
ISF Developer
IBM CSTL China

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
2012-06-06
Last reply:
2012-10-11

This question was reopened

Yaguang Tang (heut2008) said : #1

as far as I know,nova does not suport multi nova-scheduler in a zone(cell). nova-scheduler receive msg on the scheduler topic,so if there are more than one nova-scheduler,all will receive the same msg,there is no mechanism to distribute api requests to different nova-scheduler .just my option.

Thanks Yaguang.

Does nova-scheduler become a bottle-neck if there are many requests come at the same time?

Yaguang Tang (heut2008) said : #3

I have not tested nova-scheduler with a large mount of concurrent requests, actually there is already a middleware in nova-api called ratelimit,it can prevent user from making a high concurrent requests.

Thanks Yaguang.

Just check essex code, did not found ratelimit in nova-api, can you please give more detail about this?

Thanks Yaguang for the answer, but I still have a question for this. ;-)

Just check nova essex code, did not found ratelimit in nova-api, can you please give more detail about this?

Yaguang Tang (heut2008) said : #6

you can find it in the nova/etc/nova/api-paste.ini file.

Édouard Thuleau (ethuleau) said : #7

So, what's the objective of the blueprint https://blueprints.launchpad.net/nova/+spec/scheduler-resource-race
Isn't to solve the race conditions of multi-scheduler request on the same compute host ?

Tiantian Gao (gtt116) said : #8

Hi Yaguang,
I believe all scheduler nodes can receive msg one by one (round robin).
Because all nova-scheduler listen on a same queue named 'scheduler' and the queue routing_key is 'scheduler'.
When a msg put into the queue, Only one consumer can receive it.

So We can use more than one nova-scheduler but need to solve the race conditions like #7 ethuleau said.

Yaguang Tang (heut2008) said : #9

Tiantian:

thanks for correct me ,you are right, what I said before is wrong, multi nova-scheduler can work toghter .

Can you help with this problem?

Provide an answer of your own, or ask Guangya Liu for more information if necessary.

To post a message you must log in.