| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need to store different parameters for different upstream host
types. Currently the troves table has a 'gitlab_token' column for
GitLab upstreams, but in general we might need to have arbitrary
parameters. That column's value is also how we determine the host
type(!).
* Add an explicit 'type' column
* Replace the 'gitlab_token' column with a 'type_params' column
that is a JSON dictionary of type-specific parameters
While we're at it, and since it makes the migration simpler:
* Replace 'troves' table with 'hosts' table
Closes #10.
|
| |
| |
| |
| |
| |
| | |
We are using yoyo to do migrations, but did not use it to set the
original schema. We can't move the original schema to a migration
since it wouldn't be recorded as already done in existing databases.
|
| |
| |
| |
| |
| |
| | |
The 'troves' section type is an alias for 'trove'. Replace it
with the latter in LorryControllerConfValidator() before anything
else sees it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is intended to replace all uses of "Trove" that should really be
"Downstream Host" or "Upstream Host", except in the database schema
and the REST API (which will probably change later).
* ARCH: Update example code to reflect API name change
* yarns.webapp: Update test descriptions and uses of internal APIs
* units: Update and rename the ls-troves units (although they still
use the ls-troves endpoint for now)
Some references that really are specific to Trove integration are
retained.
Related to #3.
|
|/
|
|
|
|
|
| |
I want to remove "trove" from internal APIs without having to
immediately change the database schema. So we'll still have a column
"from_trovehost" in the database schema but get_lorry_info should map
that to "from_host".
|
|
|
|
| |
This was introduced by "Update to python3". Found by pyflakes.
|
|
|
|
|
|
| |
The cliapp.Application.runcmd{,_unchecked} methods return bytes
objects under Python 3. Decode these as UTF-8 in non-strict (replace)
mode.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
In this scenario, where the mirror would be in the local
filesystem, lorry will be the one initialising the repository.
|
| |
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
Some job outputs include Unicode characters. This made the status.html
generation fail given that some job logs are included in the status
page.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Iad9139bb6bbce07926ca800c0525601a43341c69
|
|
|
|
| |
Change-Id: I3a95880618218da00991f8ac58dee54d06a0da41
|
|
|
|
| |
Change-Id: Id79d4d05a5cabd7f7a634dd0decdee6bd4005f29
|
|
|
|
| |
Change-Id: I6d06353462badac114c685a2f655bc41c6820aff
|
|
|
|
| |
Change-Id: I23c23886b5389d75032c64bf4e78db7edca1af63
|
|
|
|
| |
Change-Id: Ic1ef8b983cc84b0ce75dc57f9e05b5cdda343dc6
|
|
|
|
| |
Change-Id: I2bb0aaf428e331a0bcd5a1e3111d4c7bca4afede
|
|
|
|
| |
Change-Id: I74dc0265fb3c92259101317d655eb55ccb62c119
|
|
|
|
|
|
| |
Should have done it this way in 2e3195f.
Change-Id: I015a3c1241a59277801cf39865f87e8c3ac96747
|
|
|
|
|
|
| |
While we're here, seeing as Adam mentioned it.
Change-Id: I5ddb86c70d76a84cf12fbd4eb91f3802e490d745
|
|
|
|
|
|
|
| |
The 'ignore' and 'globs' fields expect values to be string lists,
add checks for this in config validation.
Change-Id: I96fc8fa217a6f62b6b67f604bd50b2fbea723db5
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Previously the proxy.conf file had to contain 'username' and 'password'
fields, which meant that it didn't work for some HTTP proxy setups.
|
|\
| |
| |
| |
| | |
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| |
| |
| |
| | |
This adds them to both the JSON and HTML outputs.
|
|/
|
|
|
|
|
| |
Use 0 instead. This was exposed by a test suite change: test suite creates
a dummy job, but doesn't fill in all the fields. With this change, WEBAPP
doesn't crash when it tries to report a job's information when not all fields
are filled in.
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-by: Sam Thursfield
Reviewed-by: Richard Maw
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Failure to remove the temp file due to full disk or other IO error
is acceptable.
|
| |
| |
| |
| | |
This will avoid the file being truncated if the disk fills up.
|
|/
|
|
|
|
|
|
|
| |
We do this by moving the "kill_job" column from the lorries table to the
jobs table, renaming it to "kill" in the process. It makes no sense to
have the flag to kill a specific job in the lorries table.
This avoids the need to reset the flag, since it affects only a specific
job, instead of all jobs of a lorry.
|
|
|
|
|
|
|
|
|
|
| |
If our job hasn't ended then our query for (started, ended)
returns the start time and NULL for the end time.
With sqlite3 NULL maps to None.
time.gmtime(None) returns the current time,
so instead of displaying nothing a job that hasn't ended
will display the current time as its ended time.
|
|\
| |
| |
| |
| | |
Reviewed-by: Sam Thursfield
Reviewed-by: Daniel Silverstone
|
| | |
|
|\ \
| | |
| | |
| | | |
git://git.baserock.org/baserock/baserock/lorry-controller
|
| |/
| |
| |
| |
| |
| | |
The bottle.redirect method raises an HTTP Response. With the
over-indentation it was being called inside a 'with' block, making
the entire block fail.
|
|/
|
|
| |
The links won't work, so there's no point in having them.
|