[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