[Buildbot-devel] Buildbot locks and multiple project features not working
Kay Hayen
kay.hayen at gmail.com
Tue Dec 10 07:06:45 UTC 2013
Hello Dustin,
in fact, I did reproduce it, when I added it back to use, and I probably
was only confused, but it seems, there was also locks = [ heavy_lock ]
applied to all builds, so none was performed.
I now applied it only to the ones that I want to not build in paralell
on the same slave and then I get this in the build log:
2013-12-10 07:40:02+0100 [-] <Build reflected-python2.7>.buildException
2013-12-10 07:40:02+0100 [-] Unhandled Error
Traceback (most recent call last):
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/Twisted-13.2.0-py2.7-linux-armv5tel.egg/twisted/internet/defer.py",
line 490, in _startRunCallbacks
self._runCallbacks()
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/Twisted-13.2.0-py2.7-linux-armv5tel.egg/twisted/internet/defer.py",
line 577, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/build.py",
line 406, in _stepDone
return self.startNextStep()
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/build.py",
line 395, in startNextStep
d = defer.maybeDeferred(s.startStep, self.remote)
--- <exception caught here> ---
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/Twisted-13.2.0-py2.7-linux-armv5tel.egg/twisted/internet/defer.py",
line 139, in maybeDeferred
result = f(*args, **kw)
File
"/opt/buildbot/sandbox/local/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/process/buildstep.py",
line 528, in startStep
for access in self.locks ]
exceptions.AttributeError: SlaveLock instance has no attribute
'lockid'
As you can see, I am on buildbot 0.8.8, and the way I create it is:
ShellCommand(
env={"PYTHON":python},
command=command,
locks = [] if not is_heavy else [ heavy_lock ]
)
and it has been created lick this:
from buildbot.locks import SlaveLock
heavy_lock = SlaveLock("heavy")
The result in walterfall is a build exception when forcing it and status
"not finished" in the build. And it says something like this:
2013-12-10 07:40:02+0100 [-] <Build reflected-python2.7>: build finished
2013-12-10 07:40:02+0100 [-] releaseLocks(<BuildSlave
'laptop-linux-slave'>): []
So, the multiple project feature is now working, but I still cannot use
locks.
Yours,
Kay
More information about the devel
mailing list