[Buildbot-devel] Buildbot locks and multiple project features not working

Kay Hayen kay.hayen at gmail.com
Fri Dec 6 20:59:11 UTC 2013


Hello,

I have successfully made a currently private installation for my Python
compiler project that runs great. I must really commend the ease of setup
and the fact that configuration is code, making it very easy to add many
similar test suites.

Anyway, I am using "max_builds" to limit the load. The compiler of mine is
using all the cores, and doing this in parallel is not a good way. That
solves it. I have groups of slaves, some of which are weaker, and should
not handle large jobs. Works too.

Next up, I encountered that the master, which is also a weak slave, being
an ARM box, is overwhelmed by the many git requests. I was trying to see,
if I can have a lock. And I was trying to use locks to prevent more than
one heavy task running.

I have large test cases, that take a lot of time, and for 4 Python
versions, tendency growing, when two of these are running, the machine that
does the heavy work is blocked. The idea here also was to use a lock.

But merely importing and creating instances, has the effect that no build
is run at all anymore, without even using them.

####### LOCKS

from buildbot.locks import SlaveLock
heavy_lock = SlaveLock("heavy")
git_lock = SlaveLock("git")

The git lock should become a master lock, but that is not the point. I am
stuck, I do not see how I should use these. It seems creating these objects
is wrong already, and that's what I googled. The documentation was not
helping me either, or I didn't find it.

Then, another thing, I have a private and a public repository, that I would
like to run with the same master, as it will have to be the same slaves.
Some tests overlap. So I was using "project=" for everything.

But I noticed that the buildbot.changes.pb.PBChangeSource does not factor
into this, it seems I cannot specify the project. Is this an omission only
or a structural error of mine. For git poller it seems to exist. I would
want to avoid polling, precisely because it is a weak machine going to be
under load.

And then, does anybody have an example that prioritizes builds by taking
the last build status into account. I didn't find out, where to search it.

And is there some form of public hosting of Buildbots that one can use. I
doubt I can allow other people to run Python code (tests) on my machines,
nor do I think others, can do that, can they.

Yours,
Kay Hayen

-- 
The Python compiler is at http://nuitka.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20131206/2748f4de/attachment.html>


More information about the devel mailing list