[Buildbot] #3277: Builds that contain commands with SlaveLocks fail with exceptions due to inability to coerce SlaveLock to renderable
Buildbot trac
trac at buildbot.net
Thu Jun 11 14:27:31 UTC 2015
#3277: Builds that contain commands with SlaveLocks fail with exceptions due to
inability to coerce SlaveLock to renderable
----------------------+--------------------
Reporter: cody | Owner:
Type: undecided | Status: new
Priority: major | Milestone: 0.8.x
Version: master | Resolution:
Keywords: |
----------------------+--------------------
Comment (by cody):
I have not backported anything from master to my branch of eight. I've
reproduced below with a clean eight to convince you of that.
Running 0.8.13-pre-45-g928f147 (928f147e1ad6f550d5e7648c82f946cc010479c7:
the current HEAD of origin/eight, direct from
https://github.com/buildbot/buildbot.git, no additional changes or
backports)
An example config that reproduces the error (just do a force build):
{{{
# ex: set syntax=python:
from buildbot.plugins import *
c = BuildmasterConfig = {}
c['protocols'] = {'pb': {'port': 9989}}
c['slaves'] = [buildslave.BuildSlave("example-slave", "pass")]
c['schedulers'] = [schedulers.ForceScheduler(
name="force",
builderNames=["runtests"])]
from buildbot import locks
lock = locks.SlaveLock("test-lock")
factory = util.BuildFactory()
factory.addStep(steps.ShellCommand(command=["echo", "Lock?"], locks =
[lock.access('exclusive')]))
c['builders'] = [util.BuilderConfig(name="runtests",
slavenames=["example-slave"],
factory=factory)]
from buildbot.status import html
c['status'] = [html.WebStatus(http_port=8010, allowForce=True)]
}}}
The error as reported by this version:
{{{
Traceback (most recent call last):
Failure: twisted.internet.defer.FirstError: FirstError[#0, [Failure
instance: Traceback (failure with no frames): <class
'twisted.internet.defer.FirstError'>: FirstError[#0, [Failure instance:
Traceback: <type 'exceptions.TypeError'>: ('Could not adapt', <SlaveLock
(test-lock, 1)[example-slave] 140274040116504>, <InterfaceClass
buildbot.interfaces.IRenderable>)
/usr/lib/python2.7/site-
packages/buildbot-0.8.13_pre_45_g928f147-py2.7.egg/buildbot/process/properties.py:157:render
/usr/lib/python2.7/site-
packages/twisted/internet/defer.py:150:maybeDeferred
/usr/lib/python2.7/site-
packages/buildbot-0.8.13_pre_45_g928f147-py2.7.egg/buildbot/process/properties.py:722:getRenderingFor
/usr/lib/python2.7/site-
packages/buildbot-0.8.13_pre_45_g928f147-py2.7.egg/buildbot/process/properties.py:157:render
--- <exception caught here> ---
/usr/lib/python2.7/site-
packages/twisted/internet/defer.py:150:maybeDeferred
/usr/lib/python2.7/site-
packages/buildbot-0.8.13_pre_45_g928f147-py2.7.egg/buildbot/process/properties.py:739:getRenderingFor
/usr/lib/python2.7/site-
packages/buildbot-0.8.13_pre_45_g928f147-py2.7.egg/buildbot/process/properties.py:156:render
]]
]]
}}}
--
Ticket URL: <http://trac.buildbot.net/ticket/3277#comment:6>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
More information about the bugs
mailing list