Commit graph

191 commits

Author SHA1 Message Date
Joseph Schorr
6655c7f745 Add exception handling that doesn't log the read-timeout exception
Note: This is a *hack* and needs to be replaced with proper code ASAP
2015-06-25 23:35:29 -04:00
Joseph Schorr
6e6610f31a Switch to a 30s maximum timeout 2015-06-25 23:08:49 -04:00
Joseph Schorr
bead839abd Make sure build components timeout if the initial connection fails 2015-06-25 22:13:01 -04:00
Joseph Schorr
ecebc06343 Update comment now that restarter is abstracted 2015-06-25 21:53:42 -04:00
Joseph Schorr
9f5f71398c Abstract out the concept of a restart function 2015-06-25 21:40:50 -04:00
Joseph Schorr
52fa9aad5b Fix etcd watching
Etcd can miss events on watches if they are occurring fast enough, so if we can get an exception indicating that we've missed an index, we reset the state of our local tracking structures by re-reading the *full* list and starting a new watch at HEAD
2015-06-25 21:22:39 -04:00
Jimmy Zelinskie
1195e3ec7c buildman: rm coroutine decorator from subscribers
Python isn't able to figure out that these are generators and properly
handle theme.
2015-06-24 17:38:29 -04:00
josephschorr
2ade08468d Merge pull request #168 from coreos-inc/etcdindex
Fix ephemeral build manager to ask for watches in index order with no gaps
2015-06-23 17:12:18 -04:00
Joseph Schorr
b4c39e8ec0 Fix ephemeral build manager to ask for watches in index order with no gaps 2015-06-23 17:11:46 -04:00
Jimmy Zelinskie
18aa7b6c1e buildcomponent: use consistent trollius imports 2015-06-23 17:03:26 -04:00
Jimmy Zelinskie
197f3b9b85 buildman: fix ER failing to heartbeat 2015-06-22 18:12:20 -04:00
Jimmy Zelinskie
82287926ab Merge pull request #140 from coreos-inc/eventinfo
Add more build information to the events and have better messaging
2015-06-17 16:49:59 -04:00
Joseph Schorr
c2dc1c9b75 Handle case where etcd key is already removed on job complete 2015-06-17 15:02:58 -04:00
Jimmy Zelinskie
177b96e965 builder: add missing 'yield from' coroutine 2015-06-17 14:16:27 -04:00
Jimmy Zelinskie
59aba93514 builder: update heartbeat timestamp on log message 2015-06-17 14:16:27 -04:00
Joseph Schorr
9b974f6b80 Add more build information to the events and have better messaging
Fixes #79
2015-06-16 23:16:36 -04:00
Jake Moshenko
c435f5c127 Add a comment about why we are taking a lock when terminating a builder machine. 2015-06-10 16:19:51 -04:00
Jake Moshenko
f767fc4d03 Track whether builders ever came online in etcd. Mark builds which never successfully heartbeated as incomplete. 2015-06-10 16:19:51 -04:00
Jake Moshenko
79f1181a63 Switch build-scheduled to an official build phase. 2015-06-10 16:19:51 -04:00
Jake Moshenko
884fedd229 Improve the log messages in the buildman. 2015-06-10 16:19:51 -04:00
Jake Moshenko
d31e25d5cd Allow the individual build manager types to specify how long the queue should wait before retring a job that fails to schedule. 2015-06-10 16:19:50 -04:00
Jimmy Zelinskie
b7303665a2 Merge pull request #111 from coreos-inc/incompletefix
Requeue build jobs after the work check timeout + some additional padding.
2015-06-09 20:44:40 -04:00
Joseph Schorr
24ce0decd9 Requeue build jobs after the work check timeout + some additional padding. This ensures that if a build somehow gets wedged, other builds can continue to be picked up. 2015-06-09 20:43:48 -04:00
Joseph Schorr
f82831bff6 Log the etcd exception so we can debug this issue 2015-06-09 20:33:55 -04:00
Jimmy Zelinskie
7f4dd7d42f triggers: backwards compatible schema for metadata 2015-06-02 16:05:17 -04:00
Jimmy Zelinskie
e01bdd4ab0 triggers: metadata.commit_sha -> metadata.commit
This resolves an issue where the custom-git trigger's public facing
schema was not the same as the internal metadata schema. Instead of
breaking users, we rework the internal metadata schema to be the same as
the custom-git JSON schema. This commit also updates everything that
used `metadata.commit_sha` including the test database.
2015-06-02 15:32:28 -04:00
Joseph Schorr
5589bfc6d5 - Have the heartbeat fail to update if the worker has timed out
- Add additional build component logging for tracking down problems in the future
2015-05-22 15:24:14 -04:00
Jimmy Zelinskie
db05db6295 cloudconfig: flatten logentries container 2015-05-20 16:34:16 -04:00
Joseph Schorr
598fc6ec46 Add the error code to the worker error logged to redis 2015-05-18 15:01:48 -04:00
Joseph Schorr
91b464d0de Switch build manager to always just WARN on boto 2015-05-18 12:34:26 -04:00
Jimmy Zelinskie
86f400fdf5 buildman: fix btrfs mounting in worker cloudconfig 2015-05-13 17:40:35 -04:00
Jimmy Zelinskie
6a5cecebc5 buildman: create and mount btrfs volume for docker
There are numerous issues with overlayfs that actually aren't present with
btrfs. Btrfs seems to have long-running issues, but our builders are
ephemeral. Example issue: https://github.com/docker/docker/issues/10180
2015-05-12 17:42:34 -04:00
Jimmy Zelinskie
9f31bdd571 buildman: add new io.quay.builder.gitfailure error 2015-05-11 15:25:22 -04:00
Jimmy Zelinskie
15fdae6688 buildman: show base error for buildpack failures
Whereas before these were reserved only for S3 errors, users need these
specifics to debug custom-git configurations.
2015-05-11 14:18:48 -04:00
Joseph Schorr
31260d50f5 Rename the new images method to a slightly better name 2015-04-24 16:37:37 -04:00
Joseph Schorr
e70343d849 Faster cache lookup by removing a join with the ImagePlacementTable, removing the extra loop to add the locations and filtering the images looked up by the base image 2015-04-24 16:22:19 -04:00
Jimmy Zelinskie
02498d72ba almost all PR discussion fixes 2015-04-21 18:04:25 -04:00
Jimmy Zelinskie
ba2cb08904 Merge branch 'master' into git 2015-04-16 17:38:35 -04:00
Jake Moshenko
b10fd4ff22 Tell the journal on the builders to listen on the proper socket. 2015-03-27 16:31:35 -04:00
Jake Moshenko
6eead7c860 Add logentries reporting to the ephemeral builders. 2015-03-27 15:28:08 -04:00
Jake Moshenko
0349f3f1a3 Handle the case where YAML config returns a list not a tuple. 2015-03-26 14:53:56 -04:00
Jimmy Zelinskie
cd1b003ca6 buildcomponent: handle builds without resource_key 2015-03-23 15:46:23 -04:00
Jimmy Zelinskie
d29c8d60c7 trigger: pass trigger into manual_start & handle_trigger_request 2015-03-23 12:14:47 -04:00
Jimmy Zelinskie
b851986cf5 add git_url to metadata, add git to buildargs 2015-03-19 18:09:27 -04:00
Jimmy Zelinskie
b35f6ed25c buildman: add git_key buildconfig parameter 2015-03-16 13:18:18 -04:00
Jimmy Zelinskie
4c8814866c buildman: add git_url to build_config 2015-03-13 14:58:05 -04:00
Jimmy Zelinskie
8589871f43 buildman: rm unused imports 2015-03-09 13:04:16 -04:00
Jake Moshenko
5c68e52fce Really really fix the exception handling. 2015-02-27 17:33:46 -05:00
Jake Moshenko
cf5bc6f0be Properly catch multiple exceptions. 2015-02-27 17:32:10 -05:00
Jake Moshenko
857c3e2959 Start catching etcd key errors as well. 2015-02-27 17:10:15 -05:00