[Buildbot-devel] Forcing on a given buildslave

Georges Racinet gracinet at anybox.fr
Mon Sep 3 13:34:40 UTC 2012

On 09/02/2012 03:36 PM, Dustin J. Mitchell wrote:
> On Sat, Sep 1, 2012 at 7:32 AM, Georges Racinet<gracinet at anybox.fr>  wrote:
>> Can someone confirm that there is currently (say in 0.8.7 branch) no
>> way to force a build on a given buildslave ? This a feature I'd really
>> find very useful.
> This is correct.

Thank you, then I'd like to introduce it.

The use case would be to help debug if a slave goes wrong, or to 
validate that a new slave performs as expected, not to make it a normal 
operation of buildbot should be to distribute builds among all slaves 
registered for that builder (in our setups it's an automatic process 
based on slaves capabilities).
Setting a up a testing buildbot and have new or problematic slaves 
attach to it is of course an option, but it's cumbersome. I've setup 
one, but I've never used it apart for experiments about buildbot itself.

I used to believe that maybe setting the 'buildslave' property would 
force on a precise slave (if available). That proved out wrong, but 
wouldn't it be a simple way to present it ? The corollary would of 
course be that a rebuild always takes place on the same slave.

 From what I've read in process.builder, inmplemetnation would be a bit 
more complicated than changing the default behavior when there's no 
nextSlave, because the properties aren't available until a BuildRequest 
has been sucessfully claimed.
But after a quick look, I don't see why the slave selection should occur 
before that, so that seems to be doable. What do you think ?

Maybe the most generic thing to do is to allow nextSlave to accept a 
dict of properties (with a fallback if it does not for backwards 
compatibility) and provide a nextSlave that reacts to the buildslave 

Also, maybe there are problems with latent slaves to be anticipated. I 
have no experience with them,

Georges Racinet
Anybox SAS, http://anybox.fr
Bureau: 09 53 53 72 97 Portable: 06 51 32 07 27
GPG: 0x33AB0A35, sur serveurs publics

More information about the devel mailing list