[Buildbot-devel] All slaves in a builder to run step

Axel Hecht l10n.moz at googlemail.com
Tue Jun 24 13:27:15 UTC 2008


2008/6/24 Armen Zambrano Gasparnian <armenzg at gmail.com>:
> On Sat, Jun 14, 2008 at 2:05 PM, Dustin J. Mitchell <dustin at zmanda.com>
> wrote:
>>
>> On Sat, Jun 14, 2008 at 12:08 PM, Armen Zambrano Gasparnian
>> <armenzg at gmail.com> wrote:
>> > I would like to know if we have a way of making every single slave in a
>> > builder to run a specific step.
>> >
>> > This step would be a preparatory step that all slaves should run and
>> > afterward they would get an undefined number of jobs that require that
>> > the
>> > preparatory step was run
>>
>> You could add a step to all builds that checks whether that particular
>> slave has had that the prep step performed, and run it if it has not.
>
> Do you have an example?
> There are four steps that I run as preparatory steps
>
> The way I have tried to have all slaves to run the same steps is to have a
> builder per slave and have after these builders have finished their work
> they trigger a dependent scheduler.
> This approach is not exactly what I want since I would have to add code
> every time I want to add a new slave (to add its unique builder) and it
> would mean more columns on the waterfall.
> Aside of this, if one of the slave has not finished because the slave was
> not connected (for whatever reason), the next dependent scheduler will not
> be triggered.
>
>>
>> The design of Buildbot is such that a builder selects one and only one
>> buildslave to run a particular build.
>
> What about if I subclass a builder?
>
> I could try to ask which slaves are available and assign each one of them
> the same build object and then that slave could get assigned the not
> preparatory steps.
> http://mxr.mozilla.org/mozilla/source/tools/buildbot/buildbot/process/builder.py#559
> self.slaves seems to contain the list of slaves that are related to a
> builder

I really think you should move the setup steps into the main
repackaging builder. The way that I optimized those steps out is to
have the Build subclass ask the scheduler if it's supposed to set up
en-US again. Scheduler properties would be really nice here. I'd
rather go for less performant here for now, knowing that we can fix
that with the next version of buildbot.

Axel




More information about the devel mailing list