Infra scripting style guide proposal

David Caro dcaroest at redhat.com
Tue Mar 11 15:14:37 UTC 2014


On Tue 11 Mar 2014 02:56:13 PM CET, Itamar Heim wrote:
> On 03/11/2014 10:35 AM, David Caro Estevez wrote:
>> Correct.
>>
>> It seems that ovirt is targeted also to non-gnu oses (in the future I
>> suppose) so portability inside the product is an issue, thus making the
>> strict POSIX standard the appropriate tool. I'm not sure if there's any
>> milestone set for that, but as I see it, is quite far, as I've been more than
>> one year in the project, and we haven't got out of redhat based
>> distributions, I see really hard to support non-gnu oses but if that's what
>> was decided, let's go for it.
>>
>> But for any script we use to maintain the infrastructure of the project, from
>> running a jenkins job, to creating repositories or adding a nagios check, we
>> don't need to limit ourselves with POSIX, so we can benefit from the whole
>> range of advantages and features bash offers and that gives us easy to write
>> and easy to read scripts, making it easier to maintain and debug.
>
> but will be running the infra and jenkins scripts/jobs on such target slaves.
> why not keep it to a single standard?

Well, for infra this style guide will allow us to be quite more effective, even
if we have to develop a couple POSIX compliant scripts to run jobs on those
non-gnu target systems in the future, all our infra servers (not jenkins slaves)
are and most probably will be gnu-based (fedora, centos, debian, ubuntu, suse,
sl, ...), so there's no need for portability for us. And in the worst case, we
can just install bash to support the infra scripts as it's available virtually
on all the missing OSes.

And I have no decision control over what the developers do in other teams, and
it seems (as per Alon comments) that they want to enforce POSIX scripts, the
only reason to do so, is for portability to non-gnu OSes out of the box, so I
suppose that it's a must being able to build the projects on those oses
(*BSD/Sun/AIX/HP-UX). And also that it is a MUST. In my opinion we are quite far
from even thinking about porting to non-gnu systems, but I don't set the
development goals. And it's not that big an issue to use bash, as is also
available on most of those OSes (you just have to install it as a build dep,
just as you'd have to install maven, ant, make, python or whatever).

Having only one standard forces one of the parts to give away it's best tool and
get restricted to use the other one, so if we want to use just one standard, we
have to balance bash advantages vs out of the box portability to *BSD.

If the portability to *BSD really is an issue, I don't think that we should
enforce just one standard as there would be two very different use cases. And I
think that restricting infra to POSIX will notably slow down our work.

But of course, I'm open to discussion.

>
>>
>> ----- Original Message -----
>>> From: "Kiril Nesenko" <knesenko at redhat.com>
>>> To: "Eli Mesika" <emesika at redhat.com>
>>> Cc: "David Caro" <dcaroest at redhat.com>, "infra" <infra at ovirt.org>
>>> Sent: Tuesday, March 11, 2014 9:11:28 AM
>>> Subject: Re: Infra scripting style guide proposal
>>>
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Eli Mesika" <emesika at redhat.com>
>>>> To: "David Caro" <dcaroest at redhat.com>
>>>> Cc: "infra" <infra at ovirt.org>
>>>> Sent: Tuesday, March 11, 2014 1:32:40 AM
>>>> Subject: Re: Infra scripting style guide proposal
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>>> From: "David Caro" <dcaroest at redhat.com>
>>>>> To: "infra" <infra at ovirt.org>
>>>>> Sent: Monday, March 10, 2014 9:17:13 PM
>>>>> Subject: Infra scripting style guide proposal
>>>>>
>>>>> Hi everyone,
>>>>>
>>>>> Following the discussion thread and seeing that there's no more input
>>>>> there,
>>>>> I'd
>>>>> like to propose this style guide:
>>>>>
>>>>> http://www.ovirt.org/Bash_style_guide
>>>>>
>>>>> As standard for our infrastructure scripts and guideline when reviewing
>>>>> scripts.
>>>>>
>>>>> All the infra members please review the style guide and answer this email
>>>>> with
>>>>> your vote (+1 I like it, 0 I don't mind, -1 It has to change), if -1, add
>>>>> also a
>>>>> description of the problems you see so we can work on them.
>>>>
>>>> Hi David
>>>> First of all thanks for your efforts in writing that, I am certainly for
>>>> standards.
>>>> However, I feel that we have to decide what kind of scripts we want to
>>>> write.
>>>> Alon (Bar Lev), for example , is for removing what he is calling 'bashisem'
>>>> from the infra code, lately we had turned all dbscripts/dbutils code from
>>>> bash to POSIX.
>>>> So, I think that we should decide first on the direction ('to bash or not
>>>> to
>>>> bash, this is the question')
>>>> Otherwise, we are left with a bunch of scripts, each written differently,
>>>> and
>>>> even if each has its code style guidelines, I believe that it makes our
>>>> development environment harder to maintain and more buggy ...
>>>
>>> Hello Eli,
>>>
>>> Scripts that are going to be shipped with the product should be written in
>>> POSIX shell and this is correct.
>>> But here we are talking about scripts that we (infra team) are going to use
>>> to maintain our infrastructure - so there should be no problem to use bash
>>> here,
>>> since those scripts wont be shipped with the product.
>>>
>>> - Kiril
>>>>
>>>>
>>>>>
>>>>> All the non-infra people, you are welcome to vote also and give input,
>>>>> but
>>>>> your
>>>>> single vote will not be decisive.
>>>>>
>>>>> I'll close the voting next monday if no changes to the Style guide are
>>>>> proposed.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> dcaro +1
>>>>>
>>>>> -- 
>>>>> David Caro
>>>>>
>>>>> Red Hat S.L.
>>>>> Continuous Integration Engineer - EMEA ENG Virtualization R&D
>>>>>
>>>>> Email: dcaro at redhat.com
>>>>> Web: www.redhat.com
>>>>> RHT Global #: 82-62605
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Infra mailing list
>>>>> Infra at ovirt.org
>>>>> http://lists.ovirt.org/mailman/listinfo/infra
>>>>>
>>>> _______________________________________________
>>>> Infra mailing list
>>>> Infra at ovirt.org
>>>> http://lists.ovirt.org/mailman/listinfo/infra
>>>>
>>>
>> _______________________________________________
>> Infra mailing list
>> Infra at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/infra
>>
>



-- 
David Caro

Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D

Email: dcaro at redhat.com
Web: www.redhat.com
RHT Global #: 82-62605
-- 
David Caro

Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D

Email: dcaro at redhat.com
Web: www.redhat.com
RHT Global #: 82-62605

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.ovirt.org/pipermail/infra/attachments/20140311/66b435ab/attachment.sig>


More information about the Infra mailing list