Bug 13648

Summary: Create autobuilder-controller container
Product: [Yocto Project Subprojects] CROPS Reporter: Tim Orling <tim.orling>
Component: crops-defaultAssignee: Unassigned <unassigned>
Status: NEW --- QA Contact: Toaster default assignee <toaster>
Severity: enhancement    
Priority: Medium CC: konrad.scherer, randy.macleod, tvgamblin
Version: 3.1   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)

Description Tim Orling 2019-11-22 21:05:41 UTC
With YP LTS initiative, we may get into a time when the AutoBuilder itself can no longer support an older release (e.g. the automated testing infrastructure has changed, etc.).

It might also increase usage of the AutoBuilder if it was easier to setup/try.

This container would be a blend of the poky-container [1,2] and the buildbot-master [3,4] container. Although it might be possible to be even simpler and not need the poky-container bits...

Although it would be tempting to run Docker-in-Docker, this is ill advised [5] and instead the docker socket should be bind mounted:
'docker run -v /var/run/docker.sock:/var/run/docker.sock ...'

Similarly, the persistent build directories should be bind mounted docker volumes (local driver).

Specific to AB, we would need to point to yocto-autobuilder2 and yocto-autobuilder-helper git repos or local copies (with local configurations). 

[1] https://github.com/crops/poky-container
[2] https://hub.docker.com/r/crops/poky
[3] https://github.com/buildbot/buildbot/blob/master/master/Dockerfile
[4] https://hub.docker.com/r/buildbot/buildbot-master
[5] https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
Comment 1 Tim Orling 2020-03-03 02:54:40 UTC
Very raw command line (ignoring yocto-autobuilder-helper for now):

$ docker network create autobuilder
$ docker run -it -e BUILDBOT_CONFIG_URL=http://git.yoctoproject.org/cgit/cgit.cgi/yocto-autobuilder2/snapshot/yocto-autobuilder2-master.tar.gz -e BUILDBOT_CONFIG_DIR=yoctoabb -p 8010:8010 -p 9989:9989 --network autobuilder --name autobuilder-controller buildbot/buildbot-master:v2.7.0
Comment 2 Trevor Gamblin 2020-07-05 10:45:07 UTC
I'll definitely help out with this - I had actually given myself the task of containerizing the autobuilder on our internal tracker last week! I think we will also need containers for the janitor, and also a hash equivalency server, correct? The latter should be pretty simple.
Comment 3 Tim Orling 2022-04-07 16:48:03 UTC
Nice idea, but not something I have time to work on.
Comment 4 Randy MacLeod 2023-10-24 14:24:42 UTC
Bulk move from 4.99 or 0.00 to 5.99
Comment 5 Tim Orling 2026-06-25 15:21:41 UTC
Ideas here are probably still valid for future design considerations. Moving to future.