[OpenStack-Infra] Use of conditional includes, etc. in jobs
    James E. Blair 
    corvus at inaugust.com
       
    Tue Sep  8 16:22:18 UTC 2015
    
    
  
Ian Wienand <iwienand at redhat.com> writes:
> Hi,
>
> With more and more plugins, etc, within our various projects, I've
> seen some jobs coming in with things like
>
>   if [ -f /path/to/hook.sh ]; then
>      . /path/to/hook.sh
>   fi
>
> and some similar "conditional execution" idioms.
>
> Clearly we don't want to go overboard and deny maintainers flexibility
> in providing various parts of their jobs.  However, my concern with
> this sort of thing is that if these files go missing, there is high
> potential for silent failure.  There's nothing worse than thinking
> your jobs are doing something then finding out (probably a long time
> later) they are not due to a silent, unreported failure.
>
> My preference is to see the jobs being strict around things like
> sourcing files or calling functions; thus issues like files not being
> there or paths changing will then result in a loud failure.
>
> This is really a minor thing; certainly devstack-gate isn't free of it
> and you can argue around how jobs would fail.  My thought is just to
> include this sort of "failure hardening" as part of the general
> reviewing Zeitgeist.
I know that sometimes this is needed to accommodate changes between
branches or for a short time while adding new functionality.  Perhaps if
that's necessary, we can require it come with a comment saying "Remove
after ..." to reduce the long-term risk?
-Jim
    
    
More information about the OpenStack-Infra
mailing list