[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