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/
