Hello,
Our buildbot instances has the web interface enabled:
c['www'] = dict(port=8080)
But buildbot doesn't want to start:
2022-01-24 20:36:49+0100 [-] adding 834 new builders, removing 0
2022-01-24 20:37:17+0100 [-] adding 441 new schedulers, removing 0
2022-01-24 20:37:34+0100 [-] while starting BuildMaster
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/usr/lib/python3/dist-packages/buildbot/util/service.py", line 49, in reconfigServiceWithBuildbotConfig
yield svc.reconfigServiceWithBuildbotConfig(new_config)
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1613, in unwindGenerator
return _cancellableInlineCallbacks(gen)
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1529, in _cancellableInlineCallbacks
_inlineCallbacks(None, g, status)
--- <exception caught here> ---
File "/usr/lib/python3/dist-packages/buildbot/master.py", line 304, in startService
yield self.reconfigServiceWithBuildbotConfig(self.config)
File "/usr/lib/python3/dist-packages/buildbot/util/service.py", line 49, in reconfigServiceWithBuildbotConfig
yield svc.reconfigServiceWithBuildbotConfig(new_config)
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/usr/lib/python3/dist-packages/buildbot/www/service.py", line 215, in reconfigServiceWithBuildbotConfig
self.setupSite(new_config)
File "/usr/lib/python3/dist-packages/buildbot/www/service.py", line 285, in setupSite
raise RuntimeError("could not find buildbot-www; is it installed? %s" % (str(info())))
The str(info()) part is an addition on our side to know what plugins
were actually detected, and we have: [...] 'www': {}}
so nothing is detected for www. Indeed, looking at the source code in
/usr/lib/python3/dist-packages/buildbot/plugins/db.py that detects
plugins:
def _tree(self):
if self._real_tree is None:
self._real_tree = _NSNode()
for entry in iter_entry_points(self._group):
This is using pkg_resources.iter_entry_points to get the list of python
classes etc. but that reports nothing, for instance in a plain chroot:
# apt install buildbot
# python3 -c "import pkg_resources ; print(list(pkg_resources.iter_entry_points('buildbot.www')))"
[]
while /usr/lib/python3/dist-packages/buildbot/www/ is really there. One
thing I noticed is that
/usr/lib/python3/dist-packages/buildbot-2.0.1.post2.egg-info/entry_points.txt
doesn't list anything for buildbot-www.
We had to revert to the manual installation of buildbot, the Debian
package was unusable for us.
Samuel