Commit graph

130 commits

Author SHA1 Message Date
Joseph Schorr
c06f57a6e7 Make sure builders close the db handle when no work comes in and make the metrics transaction smaller in scope 2014-10-24 11:40:02 -04:00
Jake Moshenko
1ccd6a9c5d Change the max_instances for the workers to only allow one parallel job execution. 2014-10-22 18:09:00 -04:00
Joseph Schorr
07f3bd6f8c Add a synthetic .git directory containing the commit sha so that 'git rev-parse HEAD' works from inside builds 2014-10-10 17:20:07 -04:00
Joseph Schorr
ec42303750 image_and_tag must be before we use it 2014-10-03 13:00:41 -04:00
Joseph Schorr
9c88ca16b5 Add the docker version to the build logs 2014-09-23 14:45:22 -04:00
Joseph Schorr
f23038c6ee Update the worker code to better handle exceptions, fix the utcdate issue and make sure we send the proper retry. Also updates notification workers to send JobExceptions rather than returning true or false 2014-09-22 12:52:57 -04:00
Jake Moshenko
15a2f0d56f Allow most builds to be archived without writing a file to the disk. 2014-09-16 00:03:04 -04:00
Jake Moshenko
efb66f7c1e Select the random row function based on DB driver. 2014-09-15 15:58:56 -04:00
Jake Moshenko
c01de4a916 Set redis logs entries to expire rather than to immediately delete them to make the logs archiver idempotent. 2014-09-12 13:13:14 -04:00
Jake Moshenko
353da13b16 Set up the service monitoring for the log migration script. Add a database migration to add the logs_archived column. 2014-09-12 11:57:47 -04:00
Jake Moshenko
b55e79e5d3 Merge remote-tracking branch 'origin/master' into waltermitty 2014-09-12 11:45:07 -04:00
Jake Moshenko
5388633f9a Merge remote-tracking branch 'origin/master' into pullfail 2014-09-12 10:36:38 -04:00
Jake Moshenko
8b3a3178b0 Finish the build logs archiver, add handlers for cloud and local that handle gzip encoded archived content. 2014-09-11 15:33:10 -04:00
Jake Moshenko
2455c17f96 Merge remote-tracking branch 'origin/master' into waltermitty
Conflicts:
	app.py
	data/userfiles.py
2014-09-11 11:18:28 -04:00
Jake Moshenko
29d40db5ea Add a new RadosGW storage engine. Allow engines to distinguish not only between those that can support direct uploads and downloads, but those that support doing it through the browser. Rename resumeable->resumable. 2014-09-09 15:54:03 -04:00
Jake Moshenko
451e034ca1 Archived logs commit 1. Squash me. 2014-09-08 16:43:17 -04:00
Joseph Schorr
07aab4274c Fix parameters for logging the extra data needed 2014-08-28 19:19:20 -04:00
Joseph Schorr
5744f0f888 Make the dockerfilebuild error checking less harsh 2014-08-28 16:07:56 -04:00
Joseph Schorr
463a3c55c3 Make worker error messages more descriptive 2014-08-27 19:02:53 -04:00
Joseph Schorr
510bbe7889 Add more check conditions for unhealthy workers and make the messaging better. 2014-08-26 12:41:43 -04:00
Joseph Schorr
67905c277e Remove webhook worker 2014-08-25 19:13:40 -04:00
Joseph Schorr
daa43c3bb9 Add better messaging around pulling of base images when they fail due to invalid or missing credentials 2014-08-18 20:34:39 -04:00
Joseph Schorr
736af3165b Add a default message if the build pack MIME processor fails 2014-08-15 18:23:43 -04:00
Joseph Schorr
8681dd9cb9 Add a new exposed 'unpacking' phase to the build and make sure that the unzip/untar/etc always occurs under a try-except 2014-08-15 17:58:11 -04:00
Joseph Schorr
728af56384 Make the watchdog in the build worker also requeue the current item if the worker has gone bad 2014-08-13 19:04:51 -04:00
Joseph Schorr
b9e9064af2 Only retry on unhealthy exceptions, not JobException's. 2014-08-10 18:28:20 -04:00
Joseph Schorr
1b7379df29 Fix workers to not always be marked as unhealthy 2014-08-08 15:24:19 -04:00
Jake Moshenko
0372013f70 Merge remote-tracking branch 'origin/redalert'
Conflicts:
	app.py
2014-08-04 16:56:34 -04:00
Jake Moshenko
0aa6e92b02 Finish porting the workers over to apscheduler 3.0 2014-08-01 18:38:02 -04:00
Jake Moshenko
6b38ddb9b6 Remove the gpled loremipsum module. 2014-07-31 16:46:02 -04:00
Joseph Schorr
49801bc2c4 - Add web hook queue code back in. We'll remove it and turn it off after this CL goes to prod
- Make notification lookup always be by repo and its UUID, rather than the internal DB ID
- Add the init script for the notification worker
2014-07-31 13:30:54 -04:00
Joseph Schorr
bab3a0949c Make sure completion marking is also under the lock 2014-07-30 18:45:40 -04:00
Joseph Schorr
4aec422e24 Add a lock around accessing the current queue item and make sure to report it as incomplete whenever the worker becomes unhealthy 2014-07-30 18:30:54 -04:00
Joseph Schorr
7e935f5a8c Make build workers report that they are unhealthy when we get an LXC error or a Docker connection issue 2014-07-30 17:54:58 -04:00
Joseph Schorr
752efb9e0f Fix the spawn_notification to work in all cases and clean up some of the remaining code 2014-07-18 16:34:52 -04:00
Joseph Schorr
591cd020b8 Merge branch 'master' into redalert 2014-07-18 15:58:56 -04:00
Joseph Schorr
af31bde997 Add support for the remaining events to the frontend and the backend 2014-07-18 15:58:18 -04:00
Jake Moshenko
74d1c4e6b0 Update the worker status endpoint to be ELB friendly. 2014-07-18 15:04:20 -04:00
Joseph Schorr
8d7493cb86 Convert over to notifications system. Note this is incomplete 2014-07-17 22:51:58 -04:00
Jake Moshenko
cceb09d4f6 Remove some unused dependencies and update the rest. 2014-07-17 12:08:07 -04:00
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