[Buildbot-devel] Using "buildslave info" to guide Builds

Jared Grubb jared.grubb at gmail.com
Thu Aug 22 19:32:29 UTC 2013


Recently in master (after 0.8.8), we added a buildslave database to hold information about buildslave; this lets, for example, the master show the version/host/accessurl of a buildslave even if it is offline.

One of my hopes for this feature was to provide a place to persist arbitrary information about buildslaves. I have finally gotten around to making this work and it has the following components: 
 * a "setSlaveInfo(**kwargs)" function that a buildstep can use to update a key-value pair for its chosen slave
 * a SetSlaveInfo buildstep to parallel SetProperty; this provides a simple step whose purpose is to update a key
 * update the Buildslave web status page to show a table similar to the "build properties" table on a Build page, but populated with the slave info dictionary
 * ability to populate a drop-down box on ForceScheduler to show the current options
 * canStartBuild to make sure a slave is chosen that can fulfill the selection

What do you think? Any thoughts? I have implemented the above on my buildbot, and it's working great

For an idea of what this is for:  I get a daily SDK drop, and need to install multiple SDKs on each of our bots. Then, I build our code project against one of these SDKs. The default one changes a few times a week, but sometimes there are build dependencies that require us to build against a particular day's SDK different from the default. So, I keep ~10 SDK versions installed per buildslave.



More information about the devel mailing list