[openstack-dev] [Fuel][plugins] Fuel 6.0 plugin for Pacemaker STONITH (HA fencing)

Bogdan Dobrelya bdobrelia at mirantis.com
Mon Jan 12 14:53:32 UTC 2015


> 
> ------------------------------
> 
> Message: 16
> Date: Wed, 31 Dec 2014 17:41:10 -0800
> From: Andrew Woodward <xarses at gmail.com>
> To: "OpenStack Development Mailing List (not for usage questions)"
> 	<openstack-dev at lists.openstack.org>
> Subject: Re: [openstack-dev] [Fuel][plugins] Fuel 6.0 plugin for
> 	Pacemaker STONITH (HA fencing)
> Message-ID:
> 	<CACEfbZjMZX1+v+0KsOmqf1JLCvOqgk0UMBvALO4fCy_=DPRT8g at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Bogdan,
> 
> Do you think that the existing post deployment hook is sufficient to
> implement this or does additional plugins development need to be done to
> support this
> On Dec 30, 2014 3:39 AM, "Bogdan Dobrelya" <bdobrelia at mirantis.com> wrote:
> 

Hello.
Post deployment hooks are a hardcode and is a bad place to contribute
the code I believe. Plugins are a framework and should be used instead
in further development.

If someone would want to use this plugin to configure any custom power
management device type, he or she should:
* make sure there is a corresponding fence agent script exists amongst
the other ones shipped with standard fence-agents package,
* provide required parameters and values for this agent and put them in
a pcs_fencing YAML file and apply puppet manifest for plugin on nodes
(see plugin dev docs) and that's it.

>> Hello.
>> There is a long living blueprint [0] about HA fencing of failed nodes
>> in Corosync and Pacemaker cluster. Happily, in 6.0 release we have a
>> pluggable architecture supported in Fuel.
>>
>> I propose the following implementation [1] (WIP repo [2]) for this
>> feature as a plugin for puppet. It addresses the related blueprint for
>> HA Fencing in puppet manifests of Fuel library [3].
>>
>> For initial version,  all the data definitions for power management
>> devices should be done manually in YAML files (see the plugin's
>> README.md file). Later it could be done in a more user friendly way, as
>> a part of Fuel UI perhaps.
>>
>> Note that the similar approach - YAML data structures which should be
>> filled in by the cloud admin and passed to Fuel Orchestrator
>> automatically at PXE provision stage - could be used as well for Power
>> management blueprint, see the related ML thread [4].
>>
>> Please also note, there is a dev docs for Fuel plugins merged recently
>> [5] where you can find how to build and install this plugin.
>>
>> [0] https://blueprints.launchpad.net/fuel/+spec/ha-fencing
>> [1] https://review.openstack.org/#/c/144425/
>> [2]
>>
>> https://github.com/bogdando/fuel-plugins/tree/fencing_puppet_newprovider/ha_fencing
>> [3]
>> https://blueprints.launchpad.net/fuel/+spec/fencing-in-puppet-manifests
>> [4]
>>
>> http://lists.openstack.org/pipermail/openstack-dev/2014-November/049794.html
>> [5]
>>
>> http://docs.mirantis.com/fuel/fuel-6.0/plugin-dev.html#what-is-pluggable-architecture
>>
>> --
>> Best regards,
>> Bogdan Dobrelya,
>> Skype #bogdando_at_yahoo.com
>> Irc #bogdando
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>


-- 
Best regards,
Bogdan Dobrelya,
Skype #bogdando_at_yahoo.com
Irc #bogdando



More information about the OpenStack-dev mailing list