[openstack-dev] blueprint proposal nova-compute fencing for HA ?
rbryant at redhat.com
Mon Apr 22 23:05:18 UTC 2013
On 04/22/2013 06:32 PM, Leen Besselink wrote:
> On Mon, Apr 22, 2013 at 01:02:45PM -0400, Lon Hohberger wrote:
>> On 04/22/2013 08:09 AM, Leen Besselink wrote:
>>> As I have not been at the summit and the technical videos of the Summit are not yet online I am not aware of what was discusses there.
>>> But I would like to submit a blueprint.
>>> My idea is:
>>> It is a step to support VM High availability.
>>> This part is about handling compute node failure.
>>> My proposal would be to create a framework/API/plugin/agent or whatever is needed for fencing off a nova-compute node.
>>> The implementation of the code that handles the fencing could be implemented in different ways for different environments:
>>> - The IPMI-code that handle baremetal provisining could for example be used to poweroff or reboot the node.
>> This sounds familiar :) These have been integrated in to several
>> projects, including Pacemaker and oVirt:
> Ahh, of course, that is a good idea. Thanks.
> It is also packaged in Debian/Ubuntu.
> I even had it checked out on my desktop, so I had seen it before. And I should have
> known better. :-)
> So where would the code that calls such fence-agents best fit into OpenStack ?
> Or maybe this is an other new service in OpenStack (like there aren't enough already) ?
> I guess it would run on a machine where you would also find something like the Nova
> baremetal deploy helper service.
It seems like something that doesn't belong in OpenStack. Take a look
at Pacemaker. It does quite a bit of this already. You can have it
monitoring a compute node, detect failure, and react accordingly,
including the fencing part.
>> There's a standalone API that they follow which simply takes stdin
>> parameter=value assignments.
>> These agents call out to IPMI, iLO, DRAC, RSA, and other integrated
>> hardware as well as external power switches for controlling host power.
>> Many of them are written in python (or C) and should require minimal if
>> anything more than what OpenStack already requires.
More information about the OpenStack-dev