| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
| |\ \
| |/ /
|/| |
| | | |
Resolved conflicts (neighbouring insertions) in lorry-controller-webapp and
lorrycontroller/gerrit.py.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Improve repo configuration on Gerrit downstream
Closes #10, #8, #4, and #7
See merge request CodethinkLabs/lorry-controller!11
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Lorry's account on Gerrit might not be permitted to change these
attributes later, so include them in the create-project command.
Closes #7.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
GerritDownstream does not specify a parent project for create-project,
so it implicitly creates projects directly under 'All-Projects'. This
requires that Lorry's user account is given broad permissions on
All-Projects, which seems undesirable.
Allow specifying an alternate parent project, so that Lorry can be
given permissions on only that project.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Allow Gerrit and GitLab Downstream Hosts to be remote
Closes #10, #8, and #4
See merge request CodethinkLabs/lorry-controller!9
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Clean up and document how host type connectors work
Closes #10 and #5
See merge request CodethinkLabs/lorry-controller!7
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
gerrit: Shell-quote ssh command arguments
Closes #8
See merge request CodethinkLabs/lorry-controller!8
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Update GitLab support
See merge request CodethinkLabs/lorry-controller!6
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
STATEDB: Generalise 'troves' table to allow more Upstream Host types
Closes #10
See merge request CodethinkLabs/lorry-controller!5
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Generalise references to 'Trove'
Closes #3
See merge request CodethinkLabs/lorry-controller!4
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
lighttpd: Fix FastCGI configuration to pass full path as PATH_INFO
See merge request CodethinkLabs/lorry-controller!3
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The configuration file uses an empty path, which I assume means
that the HTTP server root should map to the LC webapp root. So
we want the full path of the request to be passed as PATH_INFO.
However, with this configuration lighttpd actually seems to pass the
first path component as SCRIPT_NAME and the rest as PATH_INFO.
We need to set the path to "/" and enable the fix-root-scriptname
option to get the full path in PATH_INFO.
|
|\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Update LC to run on Python 3
See merge request CodethinkLabs/lorry-controller!2
|
|\ \ \ \ \ \ \ \ \ \ \
| | |/ / / / / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Changes to support Trovekube
See merge request CodethinkLabs/lorry-controller!1
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Implement organisation and repository creation using the Gitea REST
API v1. Add a 'gitea-access-token' application setting for this.
Closes #9.
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
In order to support Downstream Hosts with restricted repository
hierarchies (like Gitea's 2 levels), it is useful to be able to map
both a directory and a subdirectory of it from an Upstream Host that
has a deeper hierarchy.
Convert the prefixmap into a list of (remote, local) tuples and sort
in reverse order, so that a subdirectory prefix will appear before its
parent directory prefix if both are present.
|