Hello! I have installed buildbot -- one docker image with a master, and another with a worker. Inter-container networking is allowed, and they share the same network; I have also a gitea instance, and installed the `buildbot_gitea` plugin.
So far I got a small project to run `make` on the worker after a push, and buildbot correctly reports success back to gitea (I can tell form the logs, and gitea also shows the green check image on the repo). However, * the waterfall view is always empty; console and grid views do not load (they show the "loading" animation and never finish); * in the "Home" buildbot tab, sometimes the list of recent builds show up, sometimes it doesn't. (But the number of recent builds is always correct) * if I click on one of the builds (successful or not, doesn't matter), it shows a build page, but empty (no build steps, no build properties, nothing). The only things that look strange on the master logs are periodic timeout messages, some connection drop messages: 2020-03-21 12:11:26+0000 [-] Timing out client: IPv4Address(type='TCP', host='172.27.0.1', port=56388) 2020-03-21 12:11:26+0000 [-] Timing out client: IPv4Address(type='TCP', host='172.27.0.1', port=56380) 2020-03-21 12:11:26+0000 [-] Timing out client: IPv4Address(type='TCP', host='172.27.0.1', port=56392) 2020-03-21 12:19:40+0000 [-] dropping connection to peer tcp4:172.27.0.1:56598 with abort=False: None and this: 2020-03-21 12:10:49+0000 [-] Unhandled error in Deferred: 2020-03-21 12:10:49+0000 [-] Unhandled Error Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/bbot/sandbox/lib/python3.8/site-packages/twisted/_threads/_threadworker.py", line 46, in work task() File "/bbot/sandbox/lib/python3.8/site-packages/twisted/_threads/_team.py", line 190, in doWork task() --- <exception caught here> --- File "/bbot/sandbox/lib/python3.8/site-packages/twisted/python/threadpool.py", line 250, in inContext result = inContext.theWork() File "/bbot/sandbox/lib/python3.8/site-packages/twisted/python/threadpool.py", line 266, in <lambda> inContext.theWork = lambda: context.call(ctx, func, *args, **kw) File "/bbot/sandbox/lib/python3.8/site-packages/twisted/python/context.py", line 122, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/bbot/sandbox/lib/python3.8/site-packages/twisted/python/context.py", line 85, in callWithContext return func(*args,**kw) File "/bbot/sandbox/lib/python3.8/site-packages/buildbot/buildbot_net_usage_data.py", line 204, in _sendBuildbotNetUsageData res = _sendWithRequests(PHONE_HOME_URL, data) File "/bbot/sandbox/lib/python3.8/site-packages/buildbot/buildbot_net_usage_data.py", line 197, in _sendWithRequests r = requests.post(url, json=data) File "/bbot/sandbox/lib/python3.8/site-packages/requests/api.py", line 119, in post return request('post', url, data=data, json=json, **kwargs) File "/bbot/sandbox/lib/python3.8/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "/bbot/sandbox/lib/python3.8/site-packages/requests/sessions.py", line 530, in request resp = self.send(prep, **send_kwargs) File "/bbot/sandbox/lib/python3.8/site-packages/requests/sessions.py", line 643, in send r = adapter.send(request, **kwargs) File "/bbot/sandbox/lib/python3.8/site-packages/requests/adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='events.buildbot.net', port=443): Max retries exceeded with url: /events/phone_home (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7ff7297704f0>: Failed to establish a new connection: [Errno 110] Operation timed out')) which seems to happen only once (why is buildbot trying to phone home anyway? there is no mention of `events.buildbot.net` in any of my config files. The docker containers have full network access, ipv6, routing and DNS are all fine (tested with the `buildbot-master` image). This is my `master.cfg`: import os from twisted.application import service from buildbot.master import BuildMaster from buildbot.plugins import * from buildbot_gitea.auth import GiteaAuth from buildbot_gitea import * basedir = '/bbot/bbot-master' rotateLength = 10000000 maxRotatedFiles = 10 configfile = 'master.cfg' umask = None if basedir == '.': basedir = os.path.abspath(os.path.dirname(__file__)) application = service.Application('buildmaster') from twisted.python.logfile import LogFile from twisted.python.log import ILogObserver, FileLogObserver logfile = LogFile.fromFullPath(os.path.join(basedir, "twistd.log"), rotateLength=rotateLength, maxRotatedFiles=maxRotatedFiles) application.setComponent(ILogObserver, FileLogObserver(logfile).emit) m = BuildMaster(basedir, configfile, umask) m.setServiceParent(application) m.log_rotation.rotateLength = rotateLength m.log_rotation.maxRotatedFiles = maxRotatedFiles# -*- python -*- # ex: set filetype=python: from buildbot.plugins import * c = BuildmasterConfig = {} ####### WORKERS c['workers'] = [worker.Worker("bbot-worker", "BUILDBOT_PASSWORD")] c['protocols'] = {'pb': {'port': 9989}} ####### CHANGESOURCES c['change_source'] = [] c['change_source'].append(changes.PBChangeSource()) ####### SCHEDULERS c['schedulers'] = [] c['schedulers'].append(schedulers.SingleBranchScheduler( name="all", change_filter=util.ChangeFilter(branch='master'), treeStableTimer=None, builderNames=["runtests"])) c['schedulers'].append(schedulers.ForceScheduler( name="force", builderNames=["runtests"])) ####### BUILDERS factory = util.BuildFactory() factory.addStep(steps.Gitea(repourl='gitea@gitea.mydomain:jpellegrini/repo.git', mode='incremental', workdir="build", branch="master", progress=True, logEnviron=False, )) factory.addStep(steps.ShellCommand(command=["make"])) c['builders'] = [] c['builders'].append( util.BuilderConfig(name="runtests", workernames=["bbot-worker"], factory=factory)) ####### BUILDBOT SERVICES c['services'] = [ reporters.GiteaStatusPush( baseURL="https://gitea.mydomain/", token="GITEA_API_ACCESS_TOKEN", verbose=True) ] ####### PROJECT IDENTITY c['title'] = "My Domain!" c['titleURL'] = "https://buildbot.mydomain" c['buildbotURL'] = "https://buildbot.mydomain/" c['www'] = dict(port=8010, plugins=dict(waterfall_view={}, console_view={}, grid_view={})) c['www']['authz'] = util.Authz( allowRules = [ util.AnyEndpointMatcher(role="admins") ], roleMatchers = [ util.RolesFromUsername(roles=['admins'], usernames=['jpellegrini']) ] ) c['www']['auth'] = GiteaAuth( endpoint="https://gitea.mydomain/", client_id="MY_CLIENT_ID_FROM_GITEA", client_secret='MY_CLIENT_SECRET_FROM_GITEA') c['www']['change_hook_dialects'] = { 'gitea': { 'secret': 'THE_GITEA_WEBHOOK_SECRET', 'onlyIncludePushCommit': True } } ####### DB URL c['db'] = { 'db_url' : "postgresql://buildbot:MY_SECRET_DB_PASSWORD@172.25.0.2/buildbot", } The Dockerfile for the master is FROM alpine:3.11.3 EXPOSE 9989 RUN apk update RUN apk add python3 bash busybox-extras w3m gcc python3-dev libffi-dev openssl-dev musl-dev postgresql-dev RUN mkdir /bbot COPY entrypoint.sh /root/ RUN chmod a+x /root/entrypoint.sh RUN mkdir /root/.ssh && chmod og-rwx /root/.ssh/ COPY bbot-gitea bbot-gitea.pub /root/.ssh/ RUN chmod og-w /root/.ssh/bbot-gitea* RUN cd /bbot && \ python3 -m venv sandbox && \ source sandbox/bin/activate && \ pip3 install 'buildbot[bundle]' && \ pip3 install 'requests[security]' && \ pip3 -v install buildbot_gitea && \ pip3 install treq && \ pip3 install psycopg2 RUN apk del gcc python3-dev libffi-dev openssl-dev musl-dev RUN ls -la /root RUN cat /root/entrypoint.sh ENTRYPOINT [ "/root/entrypoint.sh" ] and the entrypoint does nothing special -- it is this, #!/bin/bash cd /bbot echo " BBOT MASTER ENTRYPOINT" source sandbox/bin/activate buildbot upgrade-master bbot-master # debug: check everything that was pip-installed: echo "\n\n=====\n" pip3 list echo "=====\n\n" if [ ! -f bbot-master/buildbot.tac ]; then buildbot create-master bbot-master fi buildbot start bbot-master tail -f /bbot/bbot-master/twistd.log and the `pip3 list` line, which runs on startup for debugging, shows that I have buildbot 2.7.0 buildbot-console-view 2.7.0 buildbot-gitea 1.2.0 buildbot-grid-view 2.7.0 buildbot-waterfall-view 2.7.0 buildbot-worker 2.7.0 buildbot-www 2.7.0 So... What else can I do to continue debugging this? _______________________________________________ users mailing list users@buildbot.net https://lists.buildbot.net/mailman/listinfo/users