| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
We don't have any precious data yet, so keep builds and jobs open like
status. This lets us use built artifacts as preview from CI jobs.
Change-Id: I81cad00d2d8f0b763601fc67a4863faa96037fc7
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rather than asking users to know the 'source' name in order to
retrieve the project's public key, use the tenant and canonical
project name. The tenant already appears in most web urls, and
the project name should be known to the user.
Change-Id: Icd1269ffdd8879bd177fd452978a2c88b2f1b205
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the zuul-fingergw app that should be run as root (so that
it can connect to the standard finger port 79), but changes user privs
immediately after binding that port.
Common streaming functions have been moved to streamer_utils.py to
be shared among modules.
Support for CommandSocket has been included.
Change-Id: Ia35492fe951e7b9367eeab0b145d96189d72c364
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In some environments zuul operators may have to rely on external
database providers. In this case it can be cumbersome to get extra
databases for each test environment. Adding an optional prefix to the
table names makes it possible to gracefully run several zuul
deployments against the same database and ensure they're still
isolated against each other.
Change-Id: Ib9948d6d74f4dc2453738f5d441e233e39e7f944
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Setup tables was called twice.
Change-Id: Idd937e1844689edfadbfeb2e180a8ab497c29ec9
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This should help avoid a situation where a dictionary value is
silently overwritten. This is in accordance with the YAML spec,
and it is a great mystery why pyyaml doesn't do this already.
Change-Id: I130f2b7e9c9fb8bd4176fd658f378e249a6a3b3f
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Even if a global variant matches, a project pipeline variant must
still match. This is important information to know when debugging.
Change-Id: Iaaff183c62457f9d264111002371f5f44ced867b
|
|\ \ \ \
| |/ / /
| | / /
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add some (well, a lot, more than likely) debug lines for each
job variant which is considered when freezing the job graph.
This will help admins determine why a job doesn't run.
Change-Id: Ia3b140db2a5d5117f96c2fec9ae1cc9ddd28b2d0
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The stackdumphandler could also be useful for zuul-web from times to
times.
Change-Id: Icf788391fcf7df94b136ea2d78f72c8d7e5e5778
|
|\ \ \ \ |
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently some static files are retrieved with relative and some with
absolute paths. This requires hacks (e.g. ProxyHTMLURLMap) if zuul
runs under a sub url and makes url rewriting much harder. Switch them
all to relative paths.
Change-Id: I3350faf760af7b5bd92dbc344a1110dde3a35863
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the dashboard navbar above, the words "Zuul Status" aren't really
neeed. Also, "Real-time status monitor of Zuul, the pipeline manager
between Gerrit and Workers." seems like text that's a little out of
place now.
Change-Id: I5741f1e7edf721eec3a445c054f036a1d17bb172
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The newrev, node name, and end time are not as useful as the other
columns, and can be found by following links to the change or logs.
In the future, we can redesign the display so that the user can select
extra details for a change, but for now, improve the ability to
scan the results quickly by removing these less-used columns.
Change-Id: I17179178b5486101c9134f8684c6e69f35e1ea7c
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We deprecated this a while ago, and most changes to OpenStack
projects implementing the change have landed.
Change-Id: Ie2519f2b4144761b8e4d17ec3299cf4238e16f08
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With the upcoming windows support we don't have ssh as the only
connection type. As a preparation for this generalize ssh_port to
connection_port.
Change-Id: Ie505fedea7b641a860b7ac4f834d96ce5351dd74
Depends-On: Ic1939054f0604411e0122db8dbd7e9886ceaa974
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bring online commandsocket support for the scheduler.
Change-Id: Ia1719650623e79d40f239776eb770550bb73169b
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We can start to remove some duplicate code and make it easier to add
commandsocket support to other processes.
Change-Id: I605ca36b6627ac4fbea960205b9a88abdeed67f5
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Like the merger, add support for setting command_socket path via
zuul.conf.
Change-Id: I88aa47870d98b0906dfb733f68af663c2dc00993
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
|
|\ \ \ \ \
| |/ / / / |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Like we have in zuul-executor, add command socket support for
zuul-merger.
Change-Id: I66a2cb2ba3f55bdd03e884f47648278e30d2f6ab
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In case ansible crashes while executing a command module we loose the
last line of the log. This is caused because we don't stream the
remaining buffer but the last line we split out of the buffer.
I wasn't able to construct a test case which makes the original code
break thus this change is without a test case.
Change-Id: I10ffe248c756e0a77f39f6e075dd3615c53f1b03
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Today it is possible to create the following ansible inventory file:
[foo]
foo01 ansible_host=192.168.1.1
[bar]
bar01 ansible_host=192.168.1.1
Which allows a user to create multiple host aliases for a single
connection. This could be done with ansible groups, however there is
some functional differences on how ansible runs in that configuration.
We could also request 2 nodes from nodepool, however in this case, it
would be a waste of CI resources because every alias would need a new
node from nodepool.
Now, a user is able to alias multiple host names to a single node from
nodepool by doing the following:
nodeset:
nodes:
- name:
- foo
- bar
label: ubuntu-xenial
This would result in a single node request from nodepool, but create
an inventory file with 2 alaises sharing and single ansible_host
variable.
Change-Id: I674d6baac26852ee1503feb1ed16c279bf773688
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This follows-on from I4476b9d4915d107e29b91229287865bff0ada305 where
we are converting zuul.projects to a dict for easier access.
With the dependent changes, there should be no in-tree users of
zuul.projects so we can do this switch. We will then convert
zuul._project users back to zuul.projects for the final removal
(I283e66293110aa3bc99acb1cbc6eb3e0cc11f750).
This updates documentation, and also gives some samples of how to use
the variables (the "| list" is a bit of a gotcha trick -- python3's
values() returns a view, so it is necessary for iteration).
Depends-On: Id9a7c137ca5bed25d81087201091157c8401576a
Depends-On: I9d88f405f34d1c5f75ebf4f52cedfaaab20c3bda
Change-Id: I3c011f72933e98ccbf8badf0e9197c8659766c51
|
|\ \ \ \ \ \ |
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Squashed changes:
- Use 'inventory' instead of 'hostfile' in ansible.cfg.
'hostfile' is deprecated.
- Use 'os.environ.copy()' in zuul_return.py since this causes 2.4 to
throw an exception now deep within module.exit_json().
Change-Id: I0a52c9e169a54d24a7b361010045fb10211418b7
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When defining multiple project stanzas for the same project the
resulting job graphs get merged. This should also work if they are
given as a mixture of canonical and non-canonical project names like
the following stanza.
- project:
name: review.example.com/org/project1
check:
jobs:
- common-config-job
- project:
name: org/project1
check:
jobs:
- project1-job
However currently only one of the stanzas are effective depending on
which was processed last.
This can be fixed by canonicalizing the project names when extending
the unparsed config.
Change-Id: Icaf8fca3aa4577b009d691f9a67adcb43ea040f5
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change adds key:get function to the scheduler gearman worker so
that zuul-web can request project's public key.
Change-Id: I7ae16f27ccd9efd68c8cf10df7ff0ff5b7b7aa13
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change replaces /console-stream route by /{tenant}/console-stream.
Change-Id: Ib5ecbaf2e8a115bb1edebe71696c565b72e7c481
Co-Authored-By: Tobias Henkel <tobias.henkel@bmw.de>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change adds a SqlHandler to query the sql reporter database from
zuul-web through the /{tenant}/builds.json controller.
This change also adds a /{tenant}/builds.html basic web interface.
Change-Id: I423a37365316cc96ed07ad0895c7198d9cff8be5
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change adds the 'job:list' job to the scheduler gearman worker
to expose the tenant jobs list.
This change also adds the /{tenant}/jobs.json endpoint to the zuul-web as well
as a /{tenant}/jobs.html web interface and command line client:
zuul show jobs $tenant
Change-Id: I950cb6a809a360867b2daccded9a8a45ac46359c
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a job dependency is not configured to run, the emitted error
should be clear that's the problem.
Change-Id: I8f696e6d3e82fc88853a7b00f191cc7d458e6a81
Co-Authored-By: James E. Blair <corvus@inaugust.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adding an implied branch matcher to jobs on in-repo project defs
works great when an item *has* a branch. But some items, such as
tags, don't. With recent changes, it is now impossible for a
project to add a job in-repo that runs in a tag pipeline.
To correct this, we need to drop some of the optimizations which
assumed we could match the implied branch against existing branch
matchers, and instead, when adding a job in-repo, simply add a new
kind of branch matcher, an ImpliedBranchMatcher, that is evaluated
in a boolean 'and' with any existing branch matchers.
The ImpliedBranchMatcher only fails if the item has a branch, and
the branch doesn't match. If the item doesn't have a branch, it
always succeeds.
This means that when a project adds a job to a tag pipeline in-repo,
it will most likely only have the ImpliedBranchMatcher, which will
simply succeed.
It also means that the multiple project configurations present in
the project's multiple branches can all add jobs to tag pipelines,
and so to remove such a job, changes may need to be made to all
branches of a project. However, there's not much that can be done
about that at the moment.
Change-Id: Id51ddfce7ef0a6d5e3273da784e407ac72a669db
|