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 <[email protected]> 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" <[email protected]> > To: [email protected] > 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 : [email protected] > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

