Closed
Bug 1212411
Opened 9 years ago
Closed 9 years ago
Clean up base-test and tester images
Categories
(Taskcluster Graveyard :: Docker Images, defect)
Taskcluster Graveyard
Docker Images
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: dustin, Assigned: dustin)
Details
Attachments
(1 file)
These are - pointing to quay.io instead of docker hub - installing from puppetagain.pub.b.m.o - creating too many intermediate images (should use system-setup.sh)
Assignee | ||
Updated•9 years ago
|
Summary: Clean up bas-test and tester images → Clean up base-test and tester images
Assignee | ||
Comment 1•9 years ago
|
||
Dropping the use of the puppetagain repos brings about this difference in installed packages: > --- old.installed 2015-10-08 11:24:28.000000000 -0400 > +++ new.installed 2015-10-08 11:24:36.000000000 -0400 > @@ -564,15 +564,15 @@ > ii libxau6 1:1.0.6-4 X11 authorisation library > ii libxau6:i386 1:1.0.6-4 X11 authorisation library > ii libxaw7 2:1.0.9-3ubuntu1 X11 Athena Widget library > -ii libxcb-glx0 1.8.1-2ubuntu2.1mozilla1 X C Binding, glx extension > -ii libxcb-glx0:i386 1.8.1-2ubuntu2.1mozilla1 X C Binding, glx extension > -ii libxcb-render0 1.8.1-2ubuntu2.1mozilla1 X C Binding, render extension > -ii libxcb-render0-dev 1.8.1-2ubuntu2.1mozilla1 X C Binding, render extension, development files > -ii libxcb-shm0 1.8.1-2ubuntu2.1mozilla1 X C Binding, shm extension > -ii libxcb-shm0-dev 1.8.1-2ubuntu2.1mozilla1 X C Binding, shm extension, development files > -ii libxcb1 1.8.1-2ubuntu2.1mozilla1 X C Binding > -ii libxcb1:i386 1.8.1-2ubuntu2.1mozilla1 X C Binding > -ii libxcb1-dev 1.8.1-2ubuntu2.1mozilla1 X C Binding, development files > +ii libxcb-glx0 1.8.1-1ubuntu0.2 X C Binding, glx extension > +ii libxcb-glx0:i386 1.8.1-1ubuntu0.2 X C Binding, glx extension > +ii libxcb-render0 1.8.1-1ubuntu0.2 X C Binding, render extension > +ii libxcb-render0-dev 1.8.1-1ubuntu0.2 X C Binding, render extension, development files > +ii libxcb-shm0 1.8.1-1ubuntu0.2 X C Binding, shm extension > +ii libxcb-shm0-dev 1.8.1-1ubuntu0.2 X C Binding, shm extension, development files > +ii libxcb1 1.8.1-1ubuntu0.2 X C Binding > +ii libxcb1:i386 1.8.1-1ubuntu0.2 X C Binding > +ii libxcb1-dev 1.8.1-1ubuntu0.2 X C Binding, development files > ii libxcomposite-dev 1:0.4.3-2build1 X11 Composite extension library (development headers) > ii libxcomposite1 1:0.4.3-2build1 X11 Composite extension library > ii libxcursor-dev 1:1.1.12-1ubuntu0.1 X cursor management library (development files) > @@ -637,8 +637,8 @@ > ii manpages 3.35-0.1ubuntu1 Manual pages about using a GNU/Linux system > ii manpages-dev 3.35-0.1ubuntu1 Manual pages about using GNU/Linux for development > ii mawk 1.3.3-17 a pattern scanning and text processing language > -ii mercurial 2.5.4-0mozilla1 easy-to-use, scalable distributed version control system > -ii mercurial-common 2.5.4-0mozilla1 easy-to-use, scalable distributed version control system (common files) > +ii mercurial 2.0.2-1ubuntu1.2 easy-to-use, scalable distributed version control system > +ii mercurial-common 2.0.2-1ubuntu1.2 easy-to-use, scalable distributed version control system (common files) > ii mesa-common-dev 8.0.4-0ubuntu0.7 Developer documentation for Mesa > ii mime-support 3.51-1ubuntu1.1 MIME files 'mime.types' & 'mailcap', and support programs > ii module-init-tools 3.16-1ubuntu2 tools for managing Linux kernel modules For mercurial, we can use `peep`, similar to how we do for builders. libxcb was from bug 975216 (which was fun!)
Assignee | ||
Comment 2•9 years ago
|
||
OK, I put the libxcb stuff into a custom apt repo in a tarball on tooltool. That gets downloaded, unpacked, installed from, and deleted. I've arranged to install mercurial with `peep`, so we get hash validation of its contents, but can still install the latest version. So the remaining package diff is --- tmp/old.installed 2015-10-08 11:24:28.000000000 -0400 +++ tmp/new.installed 2015-10-08 17:23:47.000000000 -0400 @@ -637,8 +637,6 @@ ii manpages 3.35-0.1ubuntu1 Manual pages about using a GNU/Linux system ii manpages-dev 3.35-0.1ubuntu1 Manual pages about using GNU/Linux for development ii mawk 1.3.3-17 a pattern scanning and text processing language -ii mercurial 2.5.4-0mozilla1 easy-to-use, scalable distributed version control system -ii mercurial-common 2.5.4-0mozilla1 easy-to-use, scalable distributed version control system (common files) ii mesa-common-dev 8.0.4-0ubuntu0.7 Developer documentation for Mesa ii mime-support 3.51-1ubuntu1.1 MIME files 'mime.types' & 'mailcap', and support programs ii module-init-tools 3.16-1ubuntu2 tools for managing Linux kernel modules as expected.
Assignee | ||
Comment 3•9 years ago
|
||
Oh, as importantly: I "forked" the B2G images (base-test and tester) so as not to risk messing up B2G. So the image I created just now is `ubuntu1204-test`, and I've be generated `ubuntu1204-test-upd` and `desktop-test:0.4.0` based on it.
Assignee | ||
Comment 4•9 years ago
|
||
I rebased Andrew's changes from https://treeherder.mozilla.org/#/jobs?repo=try&revision=844213339596 and combined them with my changes; the result is running now at https://treeherder.mozilla.org/#/jobs?repo=try&revision=458f25f83e84
Assignee | ||
Comment 5•9 years ago
|
||
Aww, it doesn't seem to have actually scheduled the test job. It's a little late for me to puzzle that out today.
Assignee | ||
Comment 6•9 years ago
|
||
Also, the (unchanged!) desktop-test image had lots of "errors" like this: gyp WARN EACCES user "worker" does not have permission to access the dev dir "/home/worker/.node-gyp/0.10.36" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/taskcluster-vcs/node_modules/taskcluster-client/node_modules/sockjs-client-node/node_modules/jsdom/node_modules/contextify/.node-gyp" which didn't actually stop the docker build. I'm not sure why it's running install stuff as 'worker' and not root??
Comment 7•9 years ago
|
||
(In reply to Dustin J. Mitchell [:dustin] from comment #5) > Aww, it doesn't seem to have actually scheduled the test job. It's a little > late for me to puzzle that out today. How can you tell? The build hasn't started yet. But I've refactored the testing configs a fair amount since that try run, so don't spend too much time figuring out why it isn't working.
Assignee | ||
Comment 8•9 years ago
|
||
Oh, I was assuming the test jobs would appear light gray to start. You're right - it's in the graph. And still not started! Anyway, as long as it gets to the pactl error I'll be happy and put this up for review. Comment 6 has me worried, though.
Assignee | ||
Comment 9•9 years ago
|
||
Grr, and that build failed :(
Assignee | ||
Comment 10•9 years ago
|
||
Bug 1212411: fork docker images for tests; r?ahal This also refactors the image generation to not depend on puppetagain, and to install the latest and greatest mercurial in a verified, repeatable way. As with centos6-build-upd, the ubuntu1204-test-upd image exists to run 'apt-get upgrade' periodically without regenerating the huge parent image.
Attachment #8671938 -
Flags: review?(ahalberstadt)
Updated•9 years ago
|
Attachment #8671938 -
Flags: review?(ahalberstadt) → review+
Comment 11•9 years ago
|
||
Comment on attachment 8671938 [details] MozReview Request: Bug 1212411: fork docker images for tests; r?ahal https://reviewboard.mozilla.org/r/21653/#review19477 Thanks, this looks much more organized than before! Disclaimer: this kind of stuff is not my area of expertise.. so if you're looking for more than a nominal r+, I'd recommend also asking someone else. ::: testing/docker/desktop-test/VERSION:1 (Diff revision 1) > +0.4.0 I think this image should be called something like "linux-tester" instead of "desktop-test". B2G and android emulator tests will likely be using the same image, so 'desktop' could be misleading. ::: testing/docker/desktop-test/dot-config/user-dirs.dirs:7 (Diff revision 1) > +# nit: extra comment/whitespace ::: testing/docker/desktop-test/dot-pulse/default.pa:1 (Diff revision 1) > +#!/usr/bin/pulseaudio -nF Does this file fix the pactl issue? ::: testing/docker/ubuntu1204-test/Dockerfile:1 (Diff revision 1) > +FROM quay.io/mozilla/ubuntu:12.04 Why do we use mozilla/ubuntu as opposed to the official ones?
Assignee | ||
Comment 12•9 years ago
|
||
Good questions! I used 'desktop-test' to parallel 'desktop-build', both of which are intended to distinguish them from b2g. Maybe "gecko" would be a better name. Anyway, for the moment let's leave them matching one another. The dot-config and dot-pulse directories were copied over from the existing `tester` image. I'll clean up the whitespace, but I have no idea about the pactl issue -- maybe! Finally, you're right about starting with mozilla/ubuntu:12.04. We should start with the official upstream image. I'll fix that, regenerate and push images, push the patch. Note that, since your work to run tests hasn't landed yet, nothing's actually *using* these images even after I push this patch. If you'd be so kind as to update your task definitions to use {{#docker-image}}desktop-test{{/docker-image}} instead of tester, that'd be great.
Assignee | ||
Comment 13•9 years ago
|
||
I don't see any substantive differences between ubuntu:12.04 and quay.io/mozilla/ubuntu:12.04, by the way. Just zoneinfo and some apt caches and logs.
Comment 15•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d9ea3b00f061
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Product: Taskcluster → Taskcluster Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•