[Openstack] Extending Openstack's scheduling capabilities

Luis Miguel Silva luismiguelferreirasilva at gmail.com
Fri May 6 14:07:27 UTC 2011


Thank you so much Joseph!

According to Sandi, it seems to be relatively easy to overwrite the
schedule() function in OpenStack's scheduler component.
Nevertheless, i'm not entirely sure if our scheduler's architecture
will fit OpenStack's.

We have 3 types of actions that we need to integrate:
- handle new instance requests (i think we can do this one by
overwriting the schedule() function just as Sandi suggested!)
- querying environmental information (which i also think it is
possible, according to the information i read [since the scheduler
component should have access to a database that has updated status
information on all the compute nodes])
- dynamically changing the environment on demand (not during new
instances, but simply because something changed and an action must be
taken).

An example of this last "use case" is the ability of our scheduler to
trigger an external action in order to enforce policies,
automatically, without user intervention.

A good example could be:
- trigger an action to migrate all resources when you notice that
hypervisor X is down
- trigger an action to balance the load across different hypervisors
when the load drops outside of a specific range...
- etc

Any thoughts how we can enforce scheduling actions that are dynamic?
In this case, i do not think that overwriting the schedule() function
does us much good as, according to the docs i've read, that function
will only be called for New Instances. Is this information correct?

Thank you,
Luis

On Fri, May 6, 2011 at 6:54 AM, Joseph Suh <jsuh at isi.edu> wrote:
> Luis,
>
> You can also take a look at USC-ISI's scheduler for heterogeneous systems that checks resource availability as well. Currently, it checks number of cpus, memory space, and hard disk space. If available resource is not enough, it does not allow a new instance.
>
> The branch can be found at lp:~usc-isi/nova/hpc-trunk.
>
> Thanks,
>
> Joseph
>
> ----- Original Message -----
> From: "Luis Miguel Silva" <luismiguelferreirasilva at gmail.com>
> To: openstack at lists.launchpad.net
> Sent: Thursday, May 5, 2011 9:08:02 PM
> Subject: [Openstack] Extending Openstack's scheduling capabilities
>
> Dear all,
>
> I'm evaluating Openstack and i'm interested in extending it's
> scheduling capabilities.
> So i'm looking for ways to replace Openstack's scheduler component
> with my own (so i can route the requests to an external scheduler that
> the company i work for develops).
>
> Any ideas on how i can do it?
>
> During my research, i found that there are 3 scheduling types in Openstack:
> - chance scheduler
> - zone scheduler
> - and the simple scheduler
>
> Is the scheduler component in Openstack modular / easy to replace?
> What options do i have?
>
> p.s. i've also found a post saying
> (http://webcache.googleusercontent.com/search?q=cache:AI0tmD2qMxsJ:https://bugs.launchpad.net/nova/%2Bbug/766444+openstack+bypass+scheduler&cd=1&hl=en&ct=clnk&gl=us&source=www.google.com):
> "I've seen plenty of questions come in asking how to launch a VM on a
> particular compute node. I learned this is available with the burnin
> merge, where you can bypass the scheduler, but no documentation was
> included with that code. Please document it - I can review and edit as
> needed."
> Any idea where i can get more information on the subject?
>
> Thanks in advance,
> Luis Silva
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack at lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>




More information about the Openstack mailing list