> 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

Reply via email to