summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Ensure child processes of subprocesses are killed with the parentbenbrown/clean-removed-jobsBen Brown2019-05-101-3/+6
| | | | | Assign a session ID to subprocesses, making it the group leader of any child processes, so that we may clean them up with the parent.
* Fix incorrect debug message on statedb removalBen Brown2018-05-201-2/+2
|
* Merge branch 'pedro/publish-failures' into 'master'Ben Brown2017-07-139-27/+114
|\ | | | | | | | | pedro/publish-failures See merge request !1
| * Make migrations run only once per executionpedro/publish-failuresPedro Alvarez Piedehierro2017-07-132-16/+30
| | | | | | | | | | | | | | | | Yoyo migration libraries were failing in some cases due to "database is locked" errors. It was difficult to track down what parallel operations were causing the problems, so I dediced it was better to run the migrations once per execution instead of executing them everytime we opened a connection with the database (for every request).
| * status: Encode generated html as UTF-8Pedro Alvarez Piedehierro2017-07-131-1/+1
| | | | | | | | | | | | Some job outputs include Unicode characters. This made the status.html generation fail given that some job logs are included in the status page.
| * Setup CI with .gitlab-ci.ymlPedro Alvarez Piedehierro2017-07-131-0/+13
| |
| * check: set default PYTHONPATHPedro Alvarez Piedehierro2017-07-131-1/+1
| |
| * templates/status.tpl: Add column to show failuresPedro Alvarez Piedehierro2017-07-132-1/+12
| | | | | | | | | | Make all columns align to the top, so that the content stays in the same place when expanding the log output column.
| * status: send 'publish-failures' option to templatePedro Alvarez Piedehierro2017-07-131-4/+9
| |
| * jobupdate: Store job information in lorry if job failedPedro Alvarez Piedehierro2017-07-132-1/+16
| |
| * statedb: add columns for last failure informationPedro Alvarez Piedehierro2017-07-132-3/+28
| |
| * Create extra setting to publish lorry failuresPedro Alvarez Piedehierro2017-07-131-0/+4
|/
* Add support for YAML lorriesAdam Coldrick2016-10-062-3/+7
| | | | | | | | | | | This commit makes lorry-controller understand YAML lorry files. If the file cannot be parsed as YAML then we fall back to attempting to load it as JSON, before giving up on loading it completely. The test for broken JSON is modified to use a string which is invalid for both YAML and JSON. Change-Id: If83e2e44b38e6fb63dbf0b857e143fdcabab78ac
* Make use of the exceptions response_code member variableBen Brown2016-06-171-1/+1
| | | | Change-Id: Iad9139bb6bbce07926ca800c0525601a43341c69
* Add docstring for suitable_path()Ben Brown2016-06-171-0/+12
| | | | Change-Id: I3a95880618218da00991f8ac58dee54d06a0da41
* Remove unused version tableBen Brown2016-06-171-4/+0
| | | | Change-Id: Id79d4d05a5cabd7f7a634dd0decdee6bd4005f29
* Migrations by yoyoBen Brown2016-06-173-11/+32
| | | | Change-Id: I6d06353462badac114c685a2f655bc41c6820aff
* Typo in READMEBen Brown2016-06-171-1/+1
| | | | Change-Id: I5d958457db3b4867962f6f77eab2201cfd6d0be7
* Allow host to be specified instead of trovehostBen Brown2016-06-172-6/+7
| | | | Change-Id: I23c23886b5389d75032c64bf4e78db7edca1af63
* Workaround for GitLab's lack of multi-level namespacingBen Brown2016-06-171-11/+31
| | | | Change-Id: Ic1ef8b983cc84b0ce75dc57f9e05b5cdda343dc6
* Add support for lorrying from a Gitlab serverBen Brown2016-06-175-24/+93
| | | | Change-Id: I2bb0aaf428e331a0bcd5a1e3111d4c7bca4afede
* Add support for mirroring to a GitLab serverBen Brown2016-06-174-4/+112
| | | | Change-Id: I74dc0265fb3c92259101317d655eb55ccb62c119
* Add .gitreview filePedro Alvarez2016-04-271-0/+5
| | | | Change-Id: I9f5733ad493db4aafa775109def44316e9ae34c9
* Set max-procs to 1 in webapp lighttpd confPedro Alvarez2016-04-271-1/+1
| | | | | | | | | | | We made this change more than a year ago in git.baserock.org, to test if that would make it consume less resources, without breaking anything. That change seemed to solve the problems we were having, and we never had any related issue. Change-Id: Iabb34bbe8df4c329361c2b446851b10e3c43e4de
* Bind webapp server on 127.0.0.1 by defaultPedro Alvarez2016-04-271-1/+2
| | | | | | | | | | | | Most of us thought this was the default configuration, but it wasn't. This change means that the webapp service will only be accessible from the same host that is running it, making it more secure. Thanks to Ben Brown for finding this error. Change-Id: I27f6604a0ebc7a093b63b11345b9c8963ed91c18
* Reduce nesting a littleBen Brown2016-04-182-4/+3
| | | | | | Should have done it this way in 2e3195f. Change-Id: I015a3c1241a59277801cf39865f87e8c3ac96747
* Remove trailing whitespaceBen Brown2015-12-1513-37/+37
| | | | | | While we're here, seeing as Adam mentioned it. Change-Id: I5ddb86c70d76a84cf12fbd4eb91f3802e490d745
* Add tests for 'ignore' and 'globs' validationBen Brown2015-12-151-0/+24
| | | | | | | * Does not explicitely test 'globs' validation. * Also verifies a missing 'ignore' field does not result in error. Change-Id: I8140185a485cccdf7086533d3afcc6b7fc5f121b
* Add IMPLEMENTS for the removal of a field in a `troves` sectionBen Brown2015-12-151-0/+21
| | | | Change-Id: I42fbb8a2f2150cfbc48e07340ecedea76f41639a
* Add and make use of small python library for yarnsBen Brown2015-12-152-58/+81
| | | | | | | | Due to an unwillingness to add another IMPLEMENTS that copypasta'd the same "MATCH_n = os.environ['MATCH_n']", add this small library in an attempt to reduce the amount of repitition. Change-Id: I64dc67ad7bd4c0d7572906168c72b0628a7574db
* Match whitespace in 'Set a specific field' for json stringBen Brown2015-12-151-1/+1
| | | | Change-Id: I363b73c897b6728d9938b474f352a11d8554d669
* Fix MATCH_ assignment in 'Set a specific field for a `trove` section'Ben Brown2015-12-151-2/+2
| | | | Change-Id: I218d4b23fb27526674f96b2f2566bb9ff526f688
* Perform some sanity checking for 'ignore' and 'globs' fieldsBen Brown2015-12-151-0/+11
| | | | | | | The 'ignore' and 'globs' fields expect values to be string lists, add checks for this in config validation. Change-Id: I96fc8fa217a6f62b6b67f604bd50b2fbea723db5
* 'ignore' field is no longer treated as if it were mandatoryBen Brown2015-12-153-4/+4
| | | | | | | | The README lists 'ignore' in the group of optional keys for trove specifications, yet any attempt to read the configuration without the key being present would result in a KeyError. Change-Id: I05121535b970c6d7382def46ffa720209f794633
* Correct typo in READMEBen Brown2015-12-101-1/+1
| | | | Change-Id: I0833f43b97a26532767996040104ffb2f44a3558
* Change the default job result expiry to 3 daysRichard Maw2015-10-141-2/+1
| | | | | | | | | | | | | | | From a disk space point of view, 1 year's worth of logs, while potentially excessive, isn't too much of an ask, since disk space is cheap enough. However our queries on the database run slower when it is large, so we need a shorter log retention policy, and it's best when the defaults do the right thing. 1 day's worth of logs was found to be 87MB, which means 3 days is roughly 250MB, which is acceptable. Change-Id: If3dd58fa01f785bc7d7029a45b6a0fc35c2c2b1d
* Merge branch 'sam/useless-settings'Sam Thursfield2015-03-121-4/+0
|\ | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
| * Remove mention of some settings that don't do anythingsam/useless-settingsSam Thursfield2015-03-111-4/+0
|/ | | | | These had meaning in the previous implementation of lorry-controller, but are ignored by the current version.
* Merge branch 'sam/ignore-globs'Sam Thursfield2015-03-112-7/+12
|\ | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
| * Allow glob patterns in the 'ignore' field for upstream Trovessam/ignore-globsSam Thursfield2015-03-112-7/+12
| | | | | | | | | | | | | | The documentation on wiki.baserock.org described the 'ignore' field as "glob patterns on repository pathnames which to not mirror (trove only)" but it was actually being treated as a simple list of repos to ignore. Globs are much more useful.
* | Merge branch 'sam/support-gerrit'Sam Thursfield2015-03-114-7/+89
|\ \ | |/ | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
| * Add initial support for mirroring to a Gerrit instancesam/support-gerritSam Thursfield2015-03-114-7/+89
|/
* Merge branch 'sam/proxy-fixes'Sam Thursfield2015-02-112-21/+7
|\ | | | | | | | | Reviewed-By: Richard Maw <richard.maw@codethink.co.uk> Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
| * Use 'requests' instead of the awful 'urllib2'Sam Thursfield2014-12-192-21/+7
|/ | | | | | | | | urllib2 doesn't honour proxy settings despite our best efforts. It turns out that lorry-controller currently ignores all proxy settings. Requests, by comparison, does whatever the 'http_proxy' and 'https_proxy' environment variables tell it to do. This makes lorry-controller actually work behind a proxy.
* Merge branch 'sam/proxy-with-no-username'Sam Thursfield2014-11-241-10/+25
|\ | | | | | | | | Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk> Reviewed-By: Emmet Hikory <emmet.hikory@codethink.co.uk>
| * Support HTTP(S) proxies which don't require username and passwordSam Thursfield2014-11-241-10/+25
|/ | | | | Previously the proxy.conf file had to contain 'username' and 'password' fields, which meant that it didn't work for some HTTP proxy setups.
* Merge remote-tracking branch 'origin/baserock/liw/lc-list-failed-jobs'Sam Thursfield2014-11-174-15/+115
|\ | | | | | | | | Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
| * Add lists of failed, all jobs to lorry spec infobaserock/liw/lc-list-failed-jobsLars Wirzenius2014-09-093-12/+61
| | | | | | | | This adds them to both the JSON and HTML outputs.
| * Add tests for jobs, failed_jobs attributes in lorry specsLars Wirzenius2014-09-091-3/+54
| | | | | | | | | | | | | | | | | | | | When getting information about a lorry spec from WEBAPP (/1.0/lorry/PATH), we now need it to return two lists of job ids: one for all jobs for that lorry spec, one with failed jobs only. We test here the version of the request that returns JSON. The version that returns HTML is similar (or so we assume), but it's harder to test the HTML output so we're happy with this.
* | Add a note about the 'admin' interfaceRichard Ipsum2014-11-141-0/+16
| |