[one-ecosystem] help for source code

Carlos Martín Sánchez cmartin at opennebula.org
Mon May 21 03:58:19 PDT 2012


Hi Simon,

On Wed, May 2, 2012 at 4:35 AM, Simon Boulet <simon at nostalgeek.com> wrote:

The PRE_SCHED and POST_SCHED scripts would allow for more flexible and
> dynamic scheduling. For example, one that want to add custom RANK
> according to the Host disk i/o performance (I think the new Datastore
> can do this, I haven't look at it yet),  according to the host
> environment temperature (ex. prevent deploying on a host that is
> located in a hot spot of the DC),


I think the custom RANK expression in sched.conf [1] covers this. You just
need to add a new probe in your im driver [2], let's say IO_PERFORMANCE,
and then put in /etc/one/sched.conf

DEFAULT_SCHED = [
  policy = 3,
  rank = "IO_PERFORMANCE"
]

>
> or filter out hosts that have low
> uptime, etc.
>

This can only be done per VM, using VM/REQUIREMENTS. To be able to
implement you scenario, we would need to add in sched.conf support for
something like

DEFAULT_REQUIREMENTS = "UPTIME > 1234"

I think this can be very helpful to tune the scheduler behaviour, we will
consider it [3] for the next release.


> In my scenario, I have a set of very specific disk images that are
> available only on certain hosts and that I can't transfer. My idea is
> to implement a PRE_SCHED script, parse the VM template that is to be
> deployed for images definitions, lookup which hosts can fulfill the
> special disk image requirement, and feed the scheduler with the list
> of hosts that have the image.
>

This is done automatically if you use the same datastore to store these
special images.
If you assign a datastore to a Cluster, OpenNebula makes sure that VMs
using images
from that datastore are deployed in a suitable Host, adding to the VM
requirements

CLUSTER_ID = 123


I have also opened a ticket with your SIGHUP request [4]
Thank you for your feedback,
Cheers!

[1] http://opennebula.org/documentation:rel3.4:schg
[2] http://opennebula.org/documentation:rel3.4:img
[3] http://dev.opennebula.org/issues/1283
[4] http://dev.opennebula.org/issues/1282

--
Carlos Martín, MSc
Project Engineer
OpenNebula - The Open-source Solution for Data Center Virtualization
www.OpenNebula.org | cmartin at opennebula.org |
@OpenNebula<http://twitter.com/opennebula><cmartin at opennebula.org>



On Wed, May 2, 2012 at 4:35 AM, Simon Boulet <simon at nostalgeek.com> wrote:

> Hi Carlos
>
> On Fri, Apr 27, 2012 at 5:51 AM, Carlos Martín Sánchez
> <cmartin at opennebula.org> wrote:
> >
> > If you have 10 pending VMs, the current code will retrieve the list of
> VMs,
> > Hosts and ACL rules once, and perform the matching and deployments. If
> the
> > scheduling is triggered 10 times, the Host & ACL list will have to be
> > retrieved 10 times. There is also the problem of the capacity: if two
> > separate scheduling actions are triggered at the same time, both may
> send a
> > total of 2 VMs to a host that has only capacity for 1.
>
> Yes, of course, perhaps forcing a reschedule each time a VM is
> deployed through a deploy hook isn't ideal for every scenario. But I
> think being able to manually wake up the scheduler can be very handful
> in some cases.
>
> >
> > Anyway, please open a feature request at our dev. portal and we will
> > consider it for next releases.
> >
> >
> > About the host filtering using this pre & post scripts, if I understood
> > correctly, that functionality is already implemented as REQUIREMENTS and
> > RANK:
> >
>
> The PRE_SCHED and POST_SCHED scripts would allow for more flexible and
> dynamic scheduling. For example, one that want to add custom RANK
> according to the Host disk i/o performance (I think the new Datastore
> can do this, I haven't look at it yet),  according to the host
> environment temperature (ex. prevent deploying on a host that is
> located in a hot spot of the DC), or filter out hosts that have low
> uptime, etc.
>
> In my scenario, I have a set of very specific disk images that are
> available only on certain hosts and that I can't transfer. My idea is
> to implement a PRE_SCHED script, parse the VM template that is to be
> deployed for images definitions, lookup which hosts can fulfill the
> special disk image requirement, and feed the scheduler with the list
> of hosts that have the image.
>
> I've found Open Nebula to be very flexible / easy to hack into thanks
> to the different drivers implementation, expect for the scheduler
> which requires editing C++ code and recompiling.
>
> Simon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/ecosystem-opennebula.org/attachments/20120521/929ed675/attachment-0001.htm>


More information about the Ecosystem mailing list