| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
using the lorry's path
|
|\
| |
| |
| |
| |
| |
| | |
Add a page listing failing lorries
Closes #20
See merge request CodethinkLabs/lorry/lorry-controller!25
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a status page that lists only the lorries that failed to
update on the last attempt. This will make it easier to spot problems
that require an update to the lorry configuration.
Reuse some of the existing status page logic and render the run queue
with a different template.
Add a link to this page from the status page.
Closes #20.
|
|\
| |
| |
| |
| |
| |
| | |
Reduce work and log output from lorry-controller-remove-old-jobs
Closes #18
See merge request CodethinkLabs/lorry/lorry-controller!24
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Job IDs are assigned sequentially, and jobs cannot finish before they
start. Therefore we can iterate over jobs in order of ID and stop
when we find a job that started more recently than max-age-seconds
ago.
Related to #18.
|
| |
| |
| |
| |
| |
| |
| | |
In order to filter jobs more efficiently, we need to look at the start
time (job_started in the API) as well as the finish time.
Related to #18.
|
| |
| |
| |
| |
| |
| |
| | |
In order to filter jobs earlier, we need to have a single loop over
jobs in process_args().
Related to #18.
|
| |
| |
| |
| |
| |
| |
| |
| | |
In order to filter jobs earlier, we need to have a single loop over
jobs in process_args() instead of in multiple functions that it calls.
Prepare for that by inlining the methods that it calls directly.
Related to #18.
|
|/
|
|
|
|
|
|
|
| |
lorry-controller-remove-old-jobs is currently run at very short
intervals, with a delay of 1 minute between each run. Its work isn't
time-critical, and this results in a lot of unnecessary work and log
spam. Increase the delay between runs to 1 hour.
Related to #18.
|
|\
| |
| |
| |
| | |
LICENSE: Include full text of GPLv2
See merge request CodethinkLabs/lorry/lorry-controller!23
|
|/
|
|
|
| |
Since Lorry Controller is now separate from Baserock we shouldn't
assume that it's accompanied by any license texts.
|
|\
| |
| |
| |
| | |
Fix pyflakes errors and warnings; add it to CI configuration
See merge request CodethinkLabs/lorry/lorry-controller!22
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
pyflakes isn't able to recognise that:
__all__ = locals()
effectively uses all the imported names. Replace this with an
explicit list of names.
Running pyflakes in CI should ensure that the list doesn't get
out of sync.
|
| |
| |
| |
| |
| |
| | |
Various modules are imported and not used.
Caught by pyflakes.
|
| |
| |
| |
| |
| |
| |
| | |
pyflakes found various assignments to local variables which are not
used again. In some cases we still need to evaluate the expression
that's assigned. In most places we can delete the assignment
entirely.
|
| |
| |
| |
| |
| |
| |
| |
| | |
JobShower.get_job_as_json assigns to a local 'path' variable, but
doesn't use it. Use it instead of re-evaluating the same expression
assigned to it.
Caught by pyflakes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ReadConfiguration.fix_up_interval was returning default_value when
the string value did not match the expected format. This variable
is not defined, but default_interval is.
This bug has been present since the beginning of LC development, and
was caught by pyflakes.
|
|/
|
|
|
|
|
|
| |
Commit bc7f80d "givemejob: Move upstream host metadata lookup out of
get_repo_metadata" failed to pass through the statedb variable into
the new function, so it will never work.
Caught by pyflakes.
|
|\
| |
| |
| |
| | |
Rewind lorry FDs before parsing as JSON.
See merge request CodethinkLabs/lorry/lorry-controller!21
|
|/
|
|
|
|
|
|
|
| |
First, the lorry files are parsed as YAML. If the parser fails, then the
lorry files are parsed as JSON. If the YAML parser has advanced the Lorry
file's file-descriptor, this can lead to JSON parser errors.
This change resets the file descriptor to the start of the file before
calling the JSON parser.
|
|\
| |
| |
| |
| |
| |
| | |
Add metadata for single repositories
Closes #15
See merge request CodethinkLabs/lorry/lorry-controller!17
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In testing the change to define the default branch for single
repositories, I found that GitLab will reject a change of default
branch if the branch does not yet exist. (It doesn't seem to do this
when creating a repository.)
Ignore failure to change the default branch, as we will fix it on the
next run after the branch has been created.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When mirroring a repository found through a 'lorries' configuration
section (instead of 'trove' or 'gitlab'), we currently don't set a
description or default branch.
* Set the description to the upstream repository path, but allow this
to be overridden by a description field in the .lorry file. Prepend
the host-name, just as we do when mirroring an Upstream Host.
* Set the default branch to:
- Bazaar: 'trunk'
- Git: upstream default branch, found using 'git ls-remote'
- others: 'master'
Closes #15.
|
| |
| |
| |
| |
| |
| | |
In preparation for adding metadata for single repositories, move the
code for looking up metadata through the Upstream Host connector into
a separate function.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Any lorry in the database should have been either:
1. Generated based on a 'trove' or 'gitlab' section, with
'from_host' set to the Upstream Host name.
2. Read from a lorry referred to in a 'lorries' section, with
'from_host' set to an empty string.
So this error case indicates a dangling reference in the database.
The current schema does not use foreign keys so this could happen,
but it's reasonable to just give up and return empty metadata.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
local: Create repos with empty description and enabled for export
Closes #16
See merge request CodethinkLabs/lorry/lorry-controller!20
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'git init' copies files into the repository from a template directory,
which contains a 'replace me' description that we don't want. Provide
and use our own template directory instead.
While we're at it, also add the git-daemon-export-ok flag file that
git-daemon and git-http-backend may check for (depending on their
configuration).
Closes #16.
|
|\ \
| | |
| | |
| | |
| | | |
MINION: Allow specifying multiple configuration files for Lorry
See merge request CodethinkLabs/lorry/lorry-controller!19
|
|/ /
| |
| |
| |
| | |
Change the 'lorry-config' setting from string to string-list type.
This will allow separating generic and site configuration files.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Improve disk space formatting
Closes #14
See merge request CodethinkLabs/lorry/lorry-controller!18
|
| |
| |
| |
| |
| |
| | |
Showing free disk space as 0 when it drops below 1 GiB may be
unncessarily alarming, so show it in units of MiB if that happens.
The status dictionary already includes it in both units.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Python 2, the / operator between two integer-typed values produces
another integer. In Python 3, it produces a float. We need to use
the // operator to get the old behaviour.
The change to floats in get_free_disk_space resulted in unnecessarily
precise values for free disk space.
The change in formats_secs_nicely doesn't seem to make a difference
since we format the quotients with '%d', but I'm making it use // so
it's clearer what we want.
Closes #14.
|
|\
| |
| |
| |
| | |
Use document names expected by GitLab
See merge request CodethinkLabs/lorry/lorry-controller!16
|
| |
| |
| |
| | |
This is what git hosting services like GitLab expect.
|
|/
|
|
|
| |
This will cause them to be rendered on GitLab and other git hosts'
web interfaces.
|
|\
| |
| |
| |
| |
| |
| | |
Update documentation of dependencies and installation
Closes #2 and #1
See merge request CodethinkLabs/lorry-controller!15
|
| |
| |
| |
| |
| |
| |
| | |
Installation is mostly covered by setup.py. However the configuration
files, many of the directories, and the systemd commands are not.
Related to #2.
|
| |
| |
| |
| |
| |
| |
| | |
This is mostly covered in README, but should probably be mentioned
here too. Refer to README for the contents of the repository.
Related to #2.
|
| |
| |
| |
| |
| |
| |
| | |
This is mostly a generalisation of the example lighttpd configuration.
I haven't yet tried to configure any other web server.
Relates to #2.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Document how to configure Gerrit, Gitea, and GitLab for use with
Lorry and Lorry Controller, and vice versa.
For Gitano/Trove, refer to the Baserock documentation.
Relates to #2.
|
| |
| |
| |
| | |
Related to #2.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a new documentation file with a full list of dependencies, stating
which of them are optional, how to install each of them, and which
versions have been tested. Refer to this from README.
Closes #1.
|
|\ \
| | |
| | |
| | |
| | | |
STATEDB: Avoid depending on SQLite json1 extension
See merge request CodethinkLabs/lorry-controller!13
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The migration to a generalised hosts table uses json_object(), which
is part of the optional json1 extension to SQLite. This is not
enabled by default, and isn't enabled in the Freedesktop-SDK build
of SQLite.
Since GitLab tokens shouldn't include double-quotes, we can avoid
this by using standard SQL concatenation instead.
|
|\ \
| |/
|/|
| |
| | |
Update copyright dates for files I recently changed
See merge request CodethinkLabs/lorry-controller!14
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Add gitea Downstream Host connector
Closes #9
See merge request CodethinkLabs/lorry-controller!12
|
| |\
| |/
|/|
| | |
# Conflicts:
# lorry-controller-webapp
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Improve repo/group configuration on GitLab downstream
Closes #6
See merge request CodethinkLabs/lorry-controller!10
|