[Pacemaker] Full API description for Fence Agent

Lars Marowsky-Bree lmb at suse.com
Fri Jun 14 10:25:59 EDT 2013


On 2013-06-14T10:50:21, Andrew Beekhof <andrew at beekhof.net> wrote:

> If I had my way, they'd
> - have env variables the same as OCF
> - be executable from the command line like the RH ones

(I'm not sure I get the second point. Even the "old" cluster-glue
scripts were executable from the commandline?)

> - avoid the 350 layers of indirection in the glue ones (C plugins forking bash scripts and "here's the list of hosts so that I can ask you the list of hosts" stuff)

Yeah, the cluster-glue ones started out from a quite different premise.
Originally, since they were considered part of the write-out recovery
path, they were supposed to be pre-loaded into mlock'ed memory. (It's a
neat idea, it's just that noone does bothered to write those.)

Over the years, that has eroded more and more; nowadays, a lot of that
stuff no longer makes any sense.

And for fencing mechanims that are not self-aware (like querying
switches about the ports they can fence), that indirection really
doesn't make sense and the fence supervisor should directly parse the
hostname/hostlist.

Hence, my question as to merging, because I really would like to get rid
of supporting both ;-)

> - provide a common shell and/or python library for option handling
> (env -> $x, stdin -> $x, command line options -> $x)
> 
> IMHO the RH ones are the closest to ideal and almost all use a common
> python library so adding environment variable support would only have
> to happen once (using the same names as for stdin).

Yes, I think the RH APIs might be better. I'm planning on adding a
fence_sbd wrapper for example, and wondering how much code pacemaker
could save if the cluster-glue ones were dropped?

(I'm assuming that fence-agents has most devices too; or that the agents
could be changed to conform with that interface.)



Regards,
    Lars

-- 
Architect Storage/HA
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
"Experience is the name everyone gives to their mistakes." -- Oscar Wilde





More information about the Pacemaker mailing list