buildbot installation appendix

27 05 2006

Those of you that followed Cheesecake buildbot may have noticed its strange behavior. Tests, that we knew should pass, failed with strange errors and the buidbot itself hang from time to time. I must confess it was my fault. Problems were caused by misconfiguration – I tried to run two instances of nose test runners at the same time. That way one instance of test get into way of another one and we were getting errors similar to:

OSError: [Errno 2] No such file or directory:

First Cheesecake instance have created this file, but another one cleaned up global /tmp directory, thus the error. To fix this you have to run builds independently, one after another. At first, I used Periodic again, configuring it like this:

c['schedulers'] = [
    Periodic("every_6_hours+10min", ["x86_rh9_trunk"], 6*60*60+10*60),
    Periodic("every_6_hours", ["x86_rh9_mk"], 6*60*60)

But it won’t do what I wanted, not counting the first time. First object will run x86_rh9_trunk build every 6 hours and 10 minutes, second will run x86_rh9_mk build every 6 hours. That means that the interval between these two build will rise in time. First it will be 10 minutes, then 20 minutes, then half an hours, etc. That’s not really what I wanted. Searching a buildbot mailing list I’ve found a thread about a cron-style scheduler, that is capable of running builds at certain points in time. Implementation of this scheduler was merged into main buildbot development line with a name Nightly. I was happy to see that it was finally the module I was looking for. My configuration looks like this:

c['schedulers'] = [
    Nightly("every_6_hours", ["x86_rh9_mk"], hour=[9,15,21,3],
    Nightly("every_6_hours+10min", ["x86_rh9_trunk"],
             hour=[9,15,21,3], minute=10),

It will run x86_rh9_mk build at 9.00am, 3.00pm, 9.00pm and 3.00am (so every 6 hours) and x86_rh9_trunk build at 9.10am, 3.10pm, 9.10pm and 3.10am (so every 6 hours, always 10 minutes later than x86_rh9_mk). buildbot seems to be configured much better now, so I can focus on coding exclusively.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: