[Buildbot-devel] Lock question: Multiple builders, load-balanced slaves

Brian Warner warner-buildbot at lothar.com
Sun Nov 5 02:35:18 UTC 2006


Scott Lamb <slamb at slamb.org> writes:
> ..except that we broke the test phase down into three parts, and we must not
> release the lock between. The optimal thing might be like this:
>
>     f = factory.BuildFactory([
>         s(step.P4, ...),
>         s(step.ShellCommand, name='compile', locks=[cpu], ...),
>         StepGroup(name='test', locks=[jtag], steps=[
>             s(step.ShellCommand, name='1', ...),
>             s(step_twisted.Trial, name='2', ...),
>             s(step.ShellCommand, name='3', ...)
>         ])
>     ])

That's funny, I personally need just the opposite. We've got a MasterLock on
our SVN-checkout step (with maxCount=2), because we found that otherwise we
get a big herd of svn traffic swamping the server. However, the SVN step
actually involves two parts: update and copy, it turns out that the copy
takes much much longer than the update. We'd prefer to have a lock just on
the update part, but since the internal phases of the SVN step are not
visible to the buildmaster, there's no good way to do this.


cheers,
 -Brian




More information about the devel mailing list