Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add basic Dockerfile #561

Closed
wants to merge 8 commits into from
Closed

Conversation

@aneeshusa
Copy link
Member

aneeshusa commented Dec 20, 2016

This will be used to create builder containers for Linux builds on
Taskcluster. Currently, we just use the same Salt rules as used for our
Buildbot VMs, so these are slightly bloated.

Note that the single Dockerfile can be used to build multiple images
for our different builder types, using the Docker build ARG
of SALT_NODE_ID. Possible values are the same as those used in the
.travis.yml file.

See the added docs for more information.

This is part of #560, see the issue for some follow-ups.
Salt seems to run fine, but I need to figure out how to run a successful build and add that to the docs before this is ready to be merged.

r? @edunham (BTW, figured out why I wasn't able to build containers in Hawaii - I was filtering out forwarded packets in my firewall.)


This change is Reviewable

@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch 4 times, most recently from 62d76a2 to a2ce56f Dec 21, 2016
@larsbergstrom
Copy link
Contributor

larsbergstrom commented Dec 24, 2016

Thanks for doing this - I'm really excited to have this in place to help us get the containers ready for TaskCluster!

@aneeshusa
Copy link
Member Author

aneeshusa commented Jan 17, 2017

I'll pick this up again once #577 is merged, since that makes it much easier to install just the required dependencies.

@jdm
Copy link
Member

jdm commented Apr 5, 2017

@edunham This looks like it's waiting on you.

@aneeshusa
Copy link
Member Author

aneeshusa commented Apr 12, 2017

Actually, this is still WIP from me, so not ready for a review yet.

@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch from a2ce56f to a2d04ce Apr 17, 2017
@bors-servo
Copy link
Contributor

bors-servo commented Apr 18, 2017

The latest upstream changes (presumably #638) made this pull request unmergeable. Please resolve the merge conflicts.

@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch 2 times, most recently from b86903d to a0b7dbb Apr 18, 2017
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch from a0b7dbb to 1ead12c Apr 26, 2017
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch from 1ead12c to b185fcf Apr 26, 2017
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch 5 times, most recently from b5b9105 to 45fac79 Apr 26, 2017
aneeshusa added 3 commits Apr 17, 2017
This can potentially cause security issues.
TODO: reexec dispatch.sh inside the docker container,
try out 16.04 as well
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch 3 times, most recently from a0a3b2a to 273c47b Apr 26, 2017
aneeshusa added 4 commits Apr 26, 2017
Ubuntu 16.04 Docker images don't come with sudo.
`service.running` requires talking to init,
which is not running inside Docker.

`timezone.system` on systemd distros uses timedatectl
which also wants to talk to a running systemd,
so skip that on Docker as well.
More work is needed to support the cross build states.
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch 9 times, most recently from fe2de77 to 428d1b1 Apr 26, 2017
Ubuntu Trusty's Python 3 package supplies 3.4,
so this makes it possibly to run the tests on Trusty machines
without manually installing Python 3.5.

To allow running inside Docker,
create our own virtualenv for Python test dependencies (e.g. `jinja2`).
Don't use the virtualenvs supplied by Travis.
Make sure to install some extra Python bits
that aren't installed by default for Docker.

Rewrite testing code to avoid APIs introduced in Python 3.5.
Use block indent and early return in tests.
@aneeshusa aneeshusa force-pushed the aneeshusa:add-basic-Dockerfile branch from 428d1b1 to daedeaa Apr 26, 2017
@larsbergstrom
Copy link
Contributor

larsbergstrom commented Apr 29, 2017

I don't see anything objectionable in this patch set - indeed, it all looks really exciting! Is this ready for a deeper review and landing?

@aneeshusa
Copy link
Member Author

aneeshusa commented Apr 29, 2017

@larsbergstrom This has actually gone in a different direction than the original intent, so I've made a new PR over at #649. I'll come back to this original point of this PR (a Dockerfile to build images that we can build Servo inside of for TC) at another time. Closing for now.

@aneeshusa aneeshusa closed this Apr 29, 2017
@larsbergstrom
Copy link
Contributor

larsbergstrom commented Apr 29, 2017

@aneeshusa Thanks! And sorry I was not super on top of things - I know I've been a bit scattered the last few weeks and am just catching up on all my github mails marked "follow up SOON" that are now weeks old :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.