[Buildbot-devel] Prioritize slaves with nextSlave not working
Julia S.S.
hithwen at gmail.com
Thu May 8 07:58:02 UTC 2014
Hi,
I have set up a latent slave in buildbot to help avoid congestion. I've set
up my builds to run either in permanent slave or latent one. The idea is
the latent slave is waken up only when needed but the result is that
buildbot randomly selects one slave or the other so sometimes I have to
wait for the latent slave to wake even if the permanent one is idle.
I've created a nextSlave function as follows:
from twisted.python import log
def nextSlave(builder, build_slaves):
logger.msg('nextSlave called')
host = None
support = None
for slave in build_slaves:
if slave.slavename == 'host-slave':
host = slave
elif slave.slavename == 'support-slave':
support = slave
if host and support and len(support.slave_status.runningBuilds) <
len(host.slave_status.runningBuilds):
log.msg('host-slave has many builds, launching build in support-slave')
return support
if not support:
log.msg('no support slave found, launching build in host-slave')
else:
log.msg('launching build in host-slave')
return host
And then passed it to BuilderConfig. The result is that I get this in
twistd.log:
2014-04-28 11:01:45+0200 [-] added buildset 4329 to database
But the build never starts, in the web UI it always appear as Pending and
none of the logs I've put appear in twistd.log
as that didn't work I've having a look to buildbot code, to see how it is
done by default. in file
./master/buildbot/process/buildrequestdistributor.py, class
BasicBuildChooser you have:
self.nextSlave = self.bldr.config.nextSlave
if not self.nextSlave:
self.nextSlave = lambda _,slaves: random.choice(slaves) if slaves else None
So I've set exactly that lambda function in my BuilderConfig (just to try
if it was working) and I'm getting exactly the same build not starting
result.
How can I solve/debug this issue?
Thanks
Sent with MailTrack<https://mailtrack.io/install?source=signature&lang=en&referral=hithwen@gmail.com&idSignature=22>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20140508/d995feb2/attachment.html>
More information about the devel
mailing list