[Buildbot-devel] one slave... for multiple masters?

Ben Hearsum bhearsum at mozilla.com
Thu Oct 23 12:51:57 UTC 2008


Whoops, that first sentence should say "inside of multiple masters"  
not "inside of one master"
On 23-Oct-08, at 8:16 AM, Ben Hearsum wrote:

> AFAIK there is no way to do this gracefully inside of one master.
> We're in the process of doing something very similar though, and have
> come up with this technique:
>
> We have one "main" master.cfg and multiple others which the main one
> pulls in. It goes like this:
> master.cfg:
> ...
> c['builders'] = ...
> c['status'] = ...
> c['change_source'] = ...
> c['schedulers'] = ...
> ...
> ...
> import foo
> reload(foo)
> c['builders'].extend(foo.builders)
> c['status'].extend(foo.status)
> c['change_source'].extend(foo.change_source)
> c['schedulers'].extend(foo.schedulers)
>
> foo.py:
> builders = ...
> status = ...
> change_source = ...
> schedulers = ...
>
> Make sense?
>
> Obviously, this leaves all of the projects inside of the same master,
> but it keeps them quite organized. There are a couple of things to
> watch out for though: There's no way at configuration time to limit
> WebStatus to certain builders. Any WebStatus included will show all
> builders - so you probably only want it in the main master.cfg. If two
> projects are using the same ChangeSource, on the same branch, you
> probably only want it in one of the configuration files - otherwise
> you'll get duplicate changes.
>
> If it helps, here's a link to a Buildbot using this style: http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/
>
>
> HTH.
> - Ben
>
> On 23-Oct-08, at 3:42 AM, john gale wrote:
>
>>
>> I've been thinking a lot about creating a pool of machines to use for
>> many projects.  Similar to the over-used "cloud computing" concept,
>> you would be able to create one master per overarching project, and
>> then have a pool of build and test slaves that can be allocated based
>> on who needs them.
>>
>> There are ways to do this clumsily; say, set up multiple  
>> configuration
>> files on each slave, pointing to each different master.
>>
>> But is there a way to do this more gracefully?  Specifically, I don't
>> want people stepping on each others' toes.  When one slave is being
>> used for testing, it can't host any other projects' unit tests.  Very
>> much like the SlaveLock feature...  except I'm hoping across multiple
>> masters.
>>
>> There might not be a way to do this currently, but does it look like
>> it could be feasible?  I don't have time now, but soon may be able to
>> devote some serious resources to this problem.
>>
>> thanks,
>>
>> 	~ john
>>
>> =================
>> support the arts!
>> www.smadness.com
>>
>> updated October 12, 2005
>>
>>
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win
>> great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in
>> the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel





More information about the devel mailing list