← Back to team overview

nova-orchestration team mailing list archive

Re: IRC Meeting Minutes - Nov 1

 

On Wed, Nov 2, 2011 at 5:34 AM, Sandy Walsh <sandy.walsh@xxxxxxxxxxxxx> wrote:
> Summary:
> http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-11-01-17.00.html
>
> Full log:
> http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-11-01-17.00.log.html

An interesting read, sorry I couldn't make it.

Is there any chance to have this meeting an hour or two later in
future?  4am is pretty early for me :-)

If I can chime in late however, based on my understanding of what
you're trying to achieve with the orchestrator, I think its likely it
and scheduler are going to need to be one and the same.  The lines
between placement, (de-)activation and recovery are pretty blurry at
times.


I'd also like to offer use of the Pacemaker Policy Engine.


I've spoken to Sandy a bit about this, but for the benefit of others
Pacemaker is a High Availability cluster manager and the Policy Engine
(PE) is what contains the placement, ordering and recovery logic.

Essentially you feed in the configuration and current state of the
system (as XML), it calculates the idea next state and produces an
ordered graph of actions that get you there.

The output graph contains as much parallelism as is allowed by the
configuration - the configuration allows one to specify relative
ordering between the items being allocated.

Happily the interesting parts live in a C library and I recently
mocked up a primitive scheduler in Python:

  https://github.com/beekhof/pacemaker/blob/openstack/pengine/pacemaker.py.in


I should also point out that since the PE is deterministic and does
not retain any state between calls, it is extremely easy to write unit
tests.

In fact we currently have about 500 of them, with more added every
time a bug is fixed:

  https://github.com/beekhof/pacemaker/blob/openstack/pengine/regression.sh

This means the quality of our releases is high because bugs stay fixed
and new features are well tested before users get to use them:

   http://build.clusterlabs.org/buildbot/1.1/fedora-15-x86_64/26-2011-09-01-15:36:41/lcov/pengine/index.html

-- Andrew


References