[users at bb.net] Daemonized buildbot start

Tomasz Urbański utom.pl at gmail.com
Sun Dec 25 21:36:23 UTC 2016

Hi Pierre
Thank you for the quick and comprehensive reply.
I deducted the second solution a couple of hours ago, but it is important
for me that my insights are convergent with your, professional, analysis.
Thanks a lot.

niedz., 25 gru 2016 o 22:27 użytkownik Pierre Tardy <tardyp at gmail.com>

> Hi thomas,
> Buildbot bootstrap is based on Twisted's ".tac" files, which are expected
> to be started  using twistd -y buildbot.tac.
> The "buildbot start" script is actually just a convenience wrapper around
> twistd. It actually just run twistd, and then watches for the logs to
> confirm buildbot successfully started. There is no value added beyond this
> log watching, so it is not strictly mandatory to start buildbot with
> buildbot start.
> You can just start it with twistd -y buildbot.tac.
> As you pointed up the official docker image is starting buildbot with
> twistd -ny buildbot.tac
> If you look at the help of twistd, -y means the Twisted daemon will run a
> .tac file, and the -n means it wont daemonize.
> This is because docker is doing process watching by itself, and do not
> want its entrypoint to daemonize.
> The buildbot start command also has a --no-daemon option, which really
> only is 'exec'ing to twistd -ny.
> So for your dockerfile, you can as well us twistd -ny or buildbot start
> --no-daemon, this will work the same.
> Another Docker specific is that the buildbot.tac is different. It
> configured the twistd logs to output to stdout instead of outputing to
> twisted.log.
> This is because docker design expects logs to be in stdout so that you can
> configure any fancy cloud log forwarder independently from the
> application's tech.
> Regards
> Pierre
> Le dim. 25 déc. 2016 à 14:32, Tomasz Urbański <utom.pl at gmail.com> a
> écrit :
> Hi,
> I'm trying to compose the simplest possible docker master image that runs
> buildbot start in ENTRYPOINT/CMD.
> I've tried to use a lot of combinations of 'dumb-init', 'gosu' and 'exec',
> but with no success.
> The situation is as follows:
> 1) When I try to run deamonized buildroot with the command 'docker run -d
> -v $local/vol/bldbot/master:/var/lib/buildbot buildbot-master-test ', the
> container starts successfully, but is is terminated abruptly. The log looks
> as follows:
> [timestamp] [-] Log opened.
> [timestamp] [-] twistd 16.0.0 (/usr/bin/python 2.7.12) starting up.
> [timestamp] [-] reactor class: twisted.internet.epollreactor.EPollReactor.
> [timestamp] [-] Starting BuildMaster -- buildbot.version: 0.9.2
> [timestamp] [-] Loading configuration from '/var/lib/buildbot/master.cfg'
> [timestamp] [-] Setting up database with URL 'sqlite:/state.sqlite'
> [timestamp] [-] setting database journal mode to 'wal'
> [timestamp] [-] doing housekeeping for master 1
> c8aa8b0d5ca3:/var/lib/buildbot
> [timestamp] [-] adding 1 new changesources, removing 0
> [timestamp] [-] adding 1 new builders, removing 0
> [timestamp] [-] adding 2 new schedulers, removing 0
> [timestamp] [-] No web server configured on this master
> [timestamp] [-] adding 1 new workers, removing 0
> [timestamp] [-] PBServerFactory starting on 9989
> [timestamp] [-] Starting factory <twisted.spread.pb.PBServerFactory
> instance at 0x7f2cca079b00>
> [timestamp] [-] BuildMaster is running
> 2) When I run the container in the interactive mode with the command
> 'docker run --rm -it -v $local/vol/bldbot/master:/var/lib/buildbot
> buildbot-master-test  /bin/sh' and next I run the command 'buildbot start'
> all works like charm.
> I've already studied the content of official buildbot master docker image,
> tj.  'buildbot/buildbot-master'. I see that authors decided to use the
> command 'exec twistd -ny $B/buildbot.tac' in start_buildbot.sh.
> So the question is, how to compose the ENTRYPOINT/CMD instructions in the
> Dockerfile that runs simply buildbot start.
> See also discussion and further details on Stack Overflow
> <http://stackoverflow.com/questions/41299608/daemonized-buildbot-start>
> _______________________________________________
> users mailing list
> users at buildbot.net
> https://lists.buildbot.net/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildbot.net/pipermail/users/attachments/20161225/5611aaa8/attachment.html>

More information about the users mailing list