[Buildbot-devel] Big fat buildbot example
Georges Racinet
gracinet at anybox.fr
Mon Nov 5 11:14:51 UTC 2012
Hi,
On 11/05/2012 11:49 AM, Pierre Tardy wrote:
> I like it. I'm working on similar stuff also, but it is not yet ready
> for publication.
>
> Looking at your code, I can find good concepts that could improve my
> design.
> I'm not really focused on a config system that is simple, but rather
> one that put higher level abstraction to the rather low level API of
> the config.
>
> One of the key problem is the slave managment system. I think you may
> improve SimpleConfig to have a generic slave capability system,where
> each slave would have a capability dictionary can be a string or a
> list e.g:
> OS = "windows"
> supported_test = [ "lint", "selexium"]
>
> Then, the slavemanager can have a function named slaves_by(self,
> **caps), that returns the slave names that match the needed capability
> of the builder
if that's a relevant source of inspiration, I've had to implement a
similar buildslave capability concept as well for our openerp generic
configurator. It is actually much more generic than that.
In that context, capabilities have versions and properties. The
properties are meant to provide configuration that applies to that
capability. A slave can present a capability in several versions (main
use case for that is database services)
These capabilities can be used for
- filtering : running builds only on those slave that support them
(used in particular for functional testing layer). If I'm correct this
is what Pierre writes about
- distributing : spawning several builders to test for the different
versions of that capability present among buildslaves (main use-case
postgresql versions)
- running : using the properties for that version of the capability to
run against it (main use-case local postgresql ports etc).
If people are interested, details are documented there :
http://pypi.python.org/pypi/anybox.buildbot.openerp#registration-and-slave-capabilities
http://pypi.python.org/pypi/anybox.buildbot.openerp#id11
>
> my config manager is not yet ready for publication, but here is the
> slave management part:
>
> http://pastebin.mozilla.org/1914696
sound indeed similar at first glance.
Regards,
More information about the devel
mailing list