Bug 13648 - Create autobuilder-controller container
Summary: Create autobuilder-controller container
Status: NEW
Alias: None
Product: CROPS
Classification: Yocto Project Subprojects
Component: crops-default (show other bugs)
Version: 3.1
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: Future
Assignee: Unassigned
QA Contact: Toaster default assignee
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2019-11-22 21:05 UTC by Tim Orling
Modified: 2026-06-25 15:21 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.