> On 11 Aug 2015, at 5:34 pm, Jehan-Guillaume de Rorthais <j...@dalibo.com> > wrote: > > On Tue, 11 Aug 2015 11:30:03 +1000 > Andrew Beekhof <and...@beekhof.net> wrote: > >> >>> On 8 Aug 2015, at 1:14 am, Jehan-Guillaume de Rorthais <j...@dalibo.com> >>> wrote: >>> >>> Hi Jan, >>> >>> On Fri, 7 Aug 2015 15:36:57 +0200 >>> Jan Pokorný <jpoko...@redhat.com> wrote: >>> >>>> On 07/08/15 12:09 +0200, Jehan-Guillaume de Rorthais wrote: >>>>> Now, I would like to discuss about the language used to write a RA in >>>>> Pacemaker. I never seen discussion or page about this so far. >>>> >>>> it wasn't in such a "heretic :)" tone, but I tried to show that it >>>> is extremely hard (if not impossible in some instances) to write >>>> bullet-proof code in bash (or POSIX shell, for that matter) because >>>> it's so cumbersome to move from "whitespace-delimited words as >>>> a single argument" and "words as standalone arguments" back and forth, >>>> connected with quotation-desired/-counterproductive madness >>>> (what if one wants to indeed pass quotation marks as legitimate >>>> characters within the passed value, etc.) few months back: >>>> >>>> http://clusterlabs.org/pipermail/users/2015-May/000403.html >>>> (even on developers list, but with fewer replies and broken threading: >>>> http://clusterlabs.org/pipermail/developers/2015-May/000023.html). >>> >>> Thanks for the links and history. You add some more argument to my points :) >>> >>>>> HINT: I don't want to discuss (neither troll about) what is the best >>>>> language. I would like to know why **ALL** the RA are written in >>>>> bash >>>> >>>> I would expect the original influence were the init scripts (as RAs >>>> are mostly just enriched variants to support more flexible >>>> configuration and better diagnostics back to the cluster stack), >>>> which in turn were born having simplicity and ease of debugging >>>> (maintainability) in mind. >>> >>> That sounds legitimate. And bash is still appropriate for some simple RA. >>> >>> But for the same ease of code debugging and maintainability arguments (and >>> many others), complexe RA shouldn't use shell as language. >> >> You can and should use whatever language you like for your own private RAs. >> But if you want it accepted and maintained by the resource-agents project, >> you would be advised to use the language they have standardised on. > > Well, let's imagine our RA was written in bash (in fact, we have a bash > version > pretty close to the current perl version we abandoned). I wonder if it would > be > accepted in the resource-agents project anyway as another one already exists > there. I can easily list the reasons we rewrote a new one, but this is not the > subject here. > > The discussion here is more about the language, if I should extract a > ocf-perl-module from my RA and if there is any chance the resource-agents > project would accept it.
Well, it depends on the reasons you didn’t list :-) The first questions any maintainer is going to ask are: - why did you write a new one? - can we merge this with the old one? - can the new one replace the old one? (ie. full superset) Because if both are included, then they will forevermore be answering the question “which one should I use?”. Basically, if you want it accepted upstream, then yes, you probably want to ditch the perl bit. But not having seen the agent or knowing why it exists, its hard to say. _______________________________________________ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org