[Linux-cluster] Adding a new fencing script ?
jparsons at redhat.com
Wed Aug 1 13:57:21 UTC 2007
On Wed, 2007-08-01 at 09:09 -0400, Dave Gavin wrote:
> I have a couple of Server Tech devices controlling the power for the servers in
> my cluster and they don't seem to have a fence script. I modified a copy of the
> brocade script to work with the Server Tech device and the script is in /sbin
> with the permissions/ownership matching the other fence_* scripts. Can anyone
> point me at a how-to or a doc somewhere on adding this script to the drop-down
> in system-config-cluster ?
Adding a new fence form to s-c-c is kind of a daunting task...I'll
explain below; but in the meanwhile, have you considered donating your
fence agent under a gpl variant? It would be nice for cluster users to
have ServerTech support...
Anyhow, yes, you should be able to drop your agent into /sbin with
similar permisions to other agents.
You don't need s-c-c, of course, to use your agent...you can edit the
cluster.conf file directly and add it there. Under the fencedevices
section, include an entry for your agent and set the agent attribute to
whatever you named it (agent='fence_dave').
Put shared attributes in the fencedevice section and node specific attrs
under the clusternode->fence->method->device tag. Then propagate the new
file...first run ccs_tool update and then cman_tool version -r...man
these comands for details - but dont forget to incerment the
config_version attribute in the conf file before propagating a new one.
Here is a rough outline of how to add it to s-c-c:
First add the form fields to one of the windows in fence.glade. Just
follow the conventions for naming along the lines of the other agent
forms that you find there. In each of the three windows that contain
fence forms, there is a device column and an instance column...both will
need to be extended for your new agent.
Next, you will need to edit the python file FenceHandler.py...This
should be the only other file you need to touch. I would pick an
existing agent and follow it through the file, noticing all of the
places it is set...for example, for each fence device and fence
instance, there is a populate method, a validate method, a clear form
method, and a process_widgets method entry. Then there are a few hash
maps to add to. There are comments in the file to assist in adding a new
In summary, add forms to glade file, then edit FenceHandler.py
More information about the Linux-cluster