[Buildbot-devel] retry in class ShellCommand

Amber Yust ayust at yelp.com
Mon Feb 21 19:24:00 UTC 2011


You don't necessarily have to make a wrapper for every step, if your design
your wrapper script such that it can take a command as part of its input,
and simply retry that command. If you make it generic in that manner, you
can use the same wrapper for every step.

~Amber

2011/2/21 Jean-Michel Beuken <jean-michel.beuken at uclouvain.be>

>  Hello Amber,
>
> Perhaps it would be simpler to do this outside of Buildbot? Say, write a
> wrapper script for your invocation of 'make' that retries it X times, and
> then have your ShellCommands call the wrapper?
>
> Why I did not think of it ?  good idea... I try it...
>
> but, I shall maybe have to make wrappers for every step... :-\
>
> more generally, a retry parameter in ShellCommand should be useful...
>
> thanks
>
> jmb
>
>
>
>  ~Amber
>
> 2011/2/21 Jean-Michel Beuken <jean-michel.beuken at uclouvain.be>
>
>> Hi,
>>
>> Before to start coding ( 0.7.12 on master, 0.8.2 on slave ),
>> what is the best way to implement the retry parameter ( like in the class
>> Source() ) in "class ShellCommand()" ?
>>
>> Do I have to create a function like  "maybeDoVCFallback(self, rc)"  in  a
>> sub-class of  "class SlaveShellCommand())"  ?
>>
>> my problem :
>> - I have a bot on Window$ 7/64bits  with cygwin 1.7.7.1
>> - buildslave daemon is started as a service under cygwin
>> - I use cygwin environment for   " autoconf, configure, make and make
>> tests  "
>>    but I compile with "x86-64-w64-mingw32-toolchain"  then the code is
>> "Windows 64 bits native"
>> - at each steps, there is 80% of luck (:-\ ) that the build stops with :
>>  "fork: Resource temporarily unavailable"  ( usually in compile step... )
>> - with a lot of patience and many attemps, there are some builds were till
>> the end and all tests succeed :-)
>>    (http://www.abinit.org:8010/builders/woopy_gcc45/builds/23)
>> - no easy working solutions/workarounds on web ( but everybody agrees to
>> say that it is a problem a compatibility between Window$ and cygwin =-O )
>>
>> then, the only solution is to restart the step when it's failed with the
>> error "fork: Resource temporarily unavailable" ... ( how many times :'( ...)
>>
>> thank you for your advices,
>>
>> regards
>>
>> jmb
>> --
>> ----------------------------------------------------
>> Jean-Michel Beuken
>> Computer Scientist
>> Software Engineer for ETSF
>>
>> Universite catholique de Louvain-La-Neuve
>> pôle NAPS/IMCN/EPL (ex-PCPM), Bat. BOLTZMANN
>> 1,Place Croix du Sud
>> 1348 Louvain-la-Neuve BELGIUM
>> ----------------------------------------------------
>> Tel : (3210) 473570 Fax : (3210) 473452
>> HTTP://www.pcpm.ucl.ac.be/~beuken
>> ----------------------------------------------------
>>
>>
>>
>> ------------------------------------------------------------------------------
>> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
>> Pinpoint memory and threading errors before they happen.
>> Find and fix more than 250 security defects in the development cycle.
>> Locate bottlenecks in serial and parallel code that limit performance.
>> http://p.sf.net/sfu/intel-dev2devfeb
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20110221/d6e0f5d0/attachment.html>


More information about the devel mailing list