Commit graph

90 commits

Author SHA1 Message Date
Joseph Schorr
8b3659fefa Dockerfile build worker should not report inner JobException's twice 2014-07-11 12:05:52 -04:00
Joseph Schorr
9d1ae8ba87 FROM line check needs to be on the tuple result, not the join 2014-06-16 14:01:17 -04:00
Joseph Schorr
f795868b5b Handle the case where there is no FROM command in the Dockerfile 2014-06-13 16:56:48 -04:00
Jake Moshenko
e8355f301e Remove our deploy key from the workers/Readme which gets included in the Docker image. 2014-05-27 15:19:23 -04:00
Jake Moshenko
0b6552d6cc Fix the metrics so they are usable for scaling the workers down and up. Switch all datetimes which touch the database from now to utcnow. Fix the worker Dockerfile. 2014-05-23 14:16:26 -04:00
Jake Moshenko
d14798de1d Add a queue capacity reporter plugin to the queue. Move the queue definitions to app. Add a cloudwatch reporter to the dockerfile build queue. 2014-05-21 19:50:37 -04:00
Jake Moshenko
b8466169ac Integrate sentry with the build worker. 2014-05-19 13:50:45 -04:00
Jake Moshenko
212a4650f4 Rework the config to use runit logging. 2014-05-18 17:19:14 -04:00
Jake Moshenko
cc47e77156 Upgrade to the 0.11.1 tutum version of docker. Package it as a Dockerfile using Docker in Docker. Add a status server option to the workers to utilize the new termination signal and status features of gantry. 2014-05-16 18:31:24 -04:00
Jake Moshenko
c92ce54a37 Reduce a step in the worker bootstrap. 2014-05-13 17:44:45 -04:00
Jake Moshenko
bcb993a914 Set up the build logs to use our fake build logs on test and local. 2014-05-09 18:45:11 -04:00
Jake Moshenko
8a3af93b8c Improve the builder response to being terminated or dying. 2014-05-06 18:46:19 -04:00
Jake Moshenko
55f18a2ecf Add the missing uid translation range to the root user. 2014-05-01 17:54:59 -04:00
Jake Moshenko
ec282999bf Use the docker version which works with 14.04 lxc. 2014-05-01 17:24:58 -04:00
Jake Moshenko
32583a5675 First steps toward running the builder on trusty. 2014-05-01 15:39:33 -04:00
Jake Moshenko
b888c05bc4 Change the version of our docker binary because the public registry is blocking the tutum agent name. 2014-05-01 11:44:59 -04:00
Jake Moshenko
450928674b Use a new caching algorithm which can limit the size for the build nodes. Stop treating public images as special. Add a new phase to the builder for pulling. 2014-04-30 18:48:36 -04:00
jakedt
58dbb540a1 Run a worker task immediately when it starts. 2014-04-22 13:55:54 -04:00
jakedt
2bc3d24543 Update the build worker to remove all tags from expired images. 2014-04-18 18:36:11 -04:00
jakedt
0d8725e778 Update the instructions for starting and running the workers. 2014-04-17 16:18:53 -04:00
jakedt
0a9ee6c49f Bust the dockerfile build cache across repository lines. 2014-04-16 15:45:41 -04:00
jakedt
0827e0fbac Merge remote-tracking branch 'origin/master' into ncc1701
Conflicts:
	endpoints/web.py
	static/directives/signup-form.html
	static/js/app.js
	static/js/controllers.js
	static/partials/landing.html
	static/partials/view-repo.html
	test/data/test.db
2014-04-14 19:37:22 -04:00
jakedt
724fec1b74 Test third party repo images for public-ness in the builder. Always clean up private images that we dont know about before build. Pull the base image to refresh before every build. 2014-04-14 18:54:39 -04:00
jakedt
40f82a9d16 Work harder to reset the state of the docker env on the build worker. 2014-04-14 15:59:57 -04:00
jakedt
de18236358 Allow for caching of previous docker builds for 24 hours. 2014-04-14 15:21:05 -04:00
jakedt
61a6db236f Finish the implementation of local userfiles. Strip charsets from mimetypes in the build worker. Add canonical name ordering to the build queue. Port all queues to the canonical naming version. 2014-04-11 18:34:47 -04:00
jakedt
576fbe4f0d Switch over to phusion baseimage. Prevent everything from daemonizing and start it with runit under phusion. Make workers trap and handle sigint and sigterm. Extend the reservation to 1hr for dockerfilebuild. Update nginx to remove the dependency on libgd. Merge the requirements and requirements enterprise files. 2014-04-11 13:32:45 -04:00
jakedt
8fac0474b5 Get staging to run under docker on an EC2 host. 2014-04-10 18:30:09 -04:00
jakedt
8076ad0a20 Add x-gzip as a mimetype for tarballs. 2014-04-07 10:58:53 -04:00
jakedt
37ad8a414a Revert a change to the way zip files are extracted. 2014-04-04 16:06:41 -04:00
jakedt
e87ffa20cf First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
jakedt
b95d3ec329 Add a watchdog timer to the build worker to kill a build step that takes more than 20 minutes. 2014-04-02 19:32:41 -04:00
Joseph Schorr
9a79d1562a Change to store the pull robot on the repository build and only add the credentials to the queue item. This prevents the credentials from being exposed to the end user. Also fixes the restart build option 2014-04-01 21:49:06 -04:00
jakedt
ca1970a2f4 Use the real registry endpoint in the login command. 2014-04-01 19:00:11 -04:00
jakedt
3525e383df Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	test/data/test.db
2014-04-01 18:28:48 -04:00
jakedt
7c44932c87 Use safer tar extraction. Handle error messages in the build process more intelligently. 2014-04-01 13:46:41 -04:00
jakedt
d67a1cddc2 Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	workers/dockerfilebuild.py
2014-03-31 18:10:34 -04:00
jakedt
e7c20e1052 Add tarball support to the builder and pull github code as a tarball. 2014-03-31 15:40:24 -04:00
jakedt
7c14190d2a Freeze the version of docker-py to 0.3.0 and create a fancy streaming json decoder to work around the lack of newlines in push statuses. 2014-03-28 17:53:33 -04:00
Joseph Schorr
2006917e03 Add support for pull credentials on builds and build triggers 2014-03-27 18:33:13 -04:00
Jake Moshenko
40e81f478f If JSON decoding of a stream response fails, just ignore it since it's probably a blank line. 2014-03-27 22:15:59 +00:00
Jake Moshenko
2767c7e1f7 Change the docker version to one that starts using the lxc driver. 2014-03-27 21:11:51 +00:00
Jake Moshenko
d6f1ea36d4 Upgrade the worker docker to the patched version of 0.9. 2014-03-27 20:39:29 +00:00
jakedt
536a91cbb8 Handle messages with the word message in them. 2014-03-07 12:27:30 -05:00
jakedt
4566d76e45 Add a mime type for x-zip-compressed. Report unknown mime types as errors. 2014-03-06 23:40:21 -05:00
jakedt
9a733a7320 Sometimes status messages have an extra level of wrapping for some reason. 2014-03-05 17:44:22 -05:00
jakedt
270a62b8c1 Fix the build worker to use the latest docker-py. 2014-03-05 10:32:24 -05:00
jakedt
c13f7cd9df Add the resource_key back to the repository build. 2014-02-25 18:22:02 -05:00
jakedt
13dea98499 Prepare the build worker to support multiple tags and subdirectories. Change the build database config to accept a job config object instead of breaking out the parameters into independent blocks. 2014-02-24 16:11:23 -05:00
yackob03
91da26e317 Improve the instructions for starting the worker on the build node. 2014-02-13 12:46:51 -05:00