Hi all,

I read the available parts of this thread with much interest.
Here my 50 cent, probably to influence a decision. :-)

> -----Ursprüngliche Nachricht-----
> Von: "Lars Marowsky-Bree" <[EMAIL PROTECTED]>
> Gesendet: 08.10.08 12:59:03
> An:  [EMAIL PROTECTED]
> Betreff: Re: [Linux-ha-dev] Re: Fence agents converge

> > This is true, but I'm not sure how relevant. Interface to
> > external stonith plugins has been available for 3-4 years and so
> > far there were three contributed plugins (two in /bin/sh, one in
> > python).

I think the python one is "mine".


And the simple reason for using python was:

* The needed functionality was available in the python standard library.

IMHO this is the strongest part of python in contrast to e.g. perl.
You can be sure if there is a valid python installation you'll also find all
the useful modules installed. No need to declare dependencies or 
forcing an admin to install further stuff.  Take perl. It is always annoying 
when
a piece of perl code need some modules: Which do you want to take?
The ones which are available as rpm? But what to do if the module needed
is newer than the one provided by the distribution? But what do I do if the
old module is needed by other parts of the distribution.
I had so many annoying experiences with ditributions/perl/cpan packages/
preinstalled packages that I can't count them.

* With a scripting language like python I can reach the goal faster regularly.

* Even if I decide to code it in C, I would have a horror to climb the learning
curve to get a fully functional compile and link environment. So, the python 
script can be tested on it's own.


What is/was missing IMHO:
* A proper declaration of the API. (You have to look too much at existing
code, I hate reverse engineering  :-)) And I made a mistake in the
very first version of "my" plugin as I misunderstood some functionality.

* A common logging API. I think this was discussed some time ago.

* A library or config-object in python where I can get all the informations
about the runtime environment, exit codes and so on (like there is for
the shell based RA)

* A document which explains the inner working of the stonith subsystem.
We had much questions and discussing on the list asking for the right 
configuration, self-stonithing, one cluster nodes and so on.

Conclusion: Using a scripting language like python made the coding 
of a stonith plugin much easier. And me providing one it the best
evidence about that.  ;-)

Vision: python modules which share common functionality. Inheritance
to build almost same kind of stonith plugins. E.g. "my" ibmrsa-telnet plugin
can be adapted to all kind of devices which allow a interactive command line
connection with commands querying the status and starting/stopping the
machine.

So,  this is an opinion of someone standing completely outside of core
HA development. I just want to use it, but I'm happy if I can give
something back.  :-)

Best regards
Andreas Mock

_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to