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

Asked by Guangya Liu

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:
Last reply:

This question was reopened

Revision history for this message
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.

Revision history for this message
Guangya Liu (tramper2008-deactivatedaccount) said :
#2

Thanks Yaguang.

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

Revision history for this message
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.

Revision history for this message
Guangya Liu (tramper2008-deactivatedaccount) said :
#4

Thanks Yaguang.

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

Revision history for this message
Guangya Liu (tramper2008-deactivatedaccount) said :
#5

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?

Revision history for this message
Yaguang Tang (heut2008) said :
#6

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

Revision history for this message
É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 ?

Revision history for this message
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.

Revision history for this message
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.