Ask Your Question

How do I deploy a custom scheduler in Openstack

asked 2014-11-03 15:14:37 -0500

Newberry gravatar image

I've read Chapter 15 (Customization) in the OpenStack Operations Guide which walks through the process of creating a customer scheduler called IPScheduler and deploying it in DevStack. I managed to follow the instructions in this document successfully.

In DevStack it was a case of:

  1. Creating the python file that contains implementation of customer scheduler in /opt/stack/nova/nova/scheduler.
  2. Editing the /etc/nova/nova.conf file to use the new customer scheduler
  3. Restart the nova scheduler service to enable new configuration to take effect.

What I would like to do now is to deploy the scheduler in my test Openstack environment but I'm not sure how to do this as there is no /opt/stack/nova/nova/scheduler directory to deploy my custom scheduler file too. Also I'm not sure if the custom scheduler needs to be compiled into a binary or if it can be copied as is.

If anyone has any tips, advice or articles they can point me to on this I'd be really grateful.

Regards, John

edit retag flag offensive close merge delete



The document was assumed that you use devstack to deploy openstack cloud. Did you use devstack for your test envoronment setup?

Mzoorikh gravatar imageMzoorikh ( 2014-11-03 16:41:35 -0500 )edit

Hi Mzooikh, I have 2 environments configured, the first is a devstack environment which was created using the Multinode Lab guide from ( . My second test environment is using Ubuntu Openstack, not devstack.

Newberry gravatar imageNewberry ( 2014-11-03 16:56:18 -0500 )edit

What about the /opt/stack/nova/nova/scheduler directory on your first environment(devstack env)? Is it exist?

Mzoorikh gravatar imageMzoorikh ( 2014-11-03 17:39:04 -0500 )edit

Yes /opt/stack/nova/nova/scheduler directory does exist on devstack environment. I was able to successfully create my custom scheduler there. My problem though is how do I take the custom scheduler created in the devstack environment and run it in my second Openstack environment.

Newberry gravatar imageNewberry ( 2014-11-03 17:49:30 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2014-11-27 03:22:24 -0500

If you installed OpenStack (e.g. with RDO or Ubuntu Cloud packages) there should be the directory /usr/lib/python2.7/site-packages/nova in your environment. This should contain the other directories (e.g. scheduler) you already know from the devstack environment.

Afaik you don't have to compile your newly written file. Just copy it as-is into the scheduler folder. Ensure you have changed the /etc/nova/nova.conf accordingly. After a restart of the scheduler service your new scheduler should do its work like in an devstack environment.

edit flag offensive delete link more


Thanks mzoeller. That sounds like the directory/location I was looking for. I'll give this a try and see how I get on.

Newberry gravatar imageNewberry ( 2014-11-27 03:40:42 -0500 )edit

Also I have come across a custom scheduler created by CERN called FairShare Scheduler. The source code is available on github at: (

It has a helpful installation document (under docs) which also mentions the site-packages/nova location.

Newberry gravatar imageNewberry ( 2014-11-27 05:06:20 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools


Asked: 2014-11-03 15:14:37 -0500

Seen: 1,159 times

Last updated: Nov 27 '14