We used to pin statsd to version 1.0.0. James E. Blair has written a
few tests that now let us allow the current v2.0.1 version. To prevent
unexpected upgrades, we disallow v3.0.0.
Zuul scheduler only do very simple statsd operations. Testing with
statsd 2.0.1:
I have set up a basic listener:
listener$ netcat -l 127.0.0.1 -p 666 --udp
Then wrote the python script:
import extras
statsd = extras.try_import('statsd.statsd')
statsd.incr('zuul.counter')
statsd.timing('zuul.timer', 1234)
statsd.timing('zuul.timer', 1)
statsd.gaug:('zuul.gauge', 1234)
Running it as:
STATSD_HOST='127.0.0.1' STATSD_PORT=666 python statsd-test.py
The listener gets:
zuul.counter:1|czuul.timer:1234|mszuul.timer:1|mszuul.gauge:1234|g
Sounds legit enough.
Fix bug #1169599 'Zuul should depends on statsd 2 or later'
Change-Id: I41b797d606d55eeda300e673b05c2ae4442ce029
Reviewed-on: https://review.openstack.org/27008
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
The documentation was missing recent optional arguments such as
--version.
Change-Id: Iad111d2f5c14c54d1495f2ba837627e0ea42acb0
Reviewed-on: https://review.openstack.org/27172
Reviewed-by: Jesse Keating <jesse.keating@rackspace.com>
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Add a fake statsd listener, and actually listen on a random udp
port for statsd messages. Configure STATSD env vars to use it
before each test.
Add a test that exercises all of the statsd methods that we use
explicitly.
Add checks of the statsd output to the basic "run jobs" test case
to make sure that we're covering some of the statsd code in the
scheduler.
Change-Id: I3361c4e334155dda413bf343e6f1c6f4e277a3ff
Reviewed-on: https://review.openstack.org/27306
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
tools/pip-requires list WebOb in lower case which confuse pip freeze and
gives a false positive:
Before patch:
$ pip freeze -r tools/pip-requires 2>&1|grep -i webob
Requirement file contains webob, but that package is not installed
WebOb==1.1.1
$
The second line comes from another packages which list 'WebOb' as a
dependency.
After patch:
$ pip freeze -r tools/pip-requires 2>&1|grep -i webob
WebOb==1.1.1
$
Change-Id: I73d01c734c25fc65022de146264e5b2c3cc2e67f
Reviewed-on: https://review.openstack.org/26786
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Change-Id: Iceb9049640aa3e0ff5c030fa5b93225e1e8ff887
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/26381
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Change-Id: Iaf8d066e9ad670dc5fed2375ad5640682a387bb5
Reviewed-on: https://review.openstack.org/25533
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
When using sphinx-build to generate documentation, it would fail to
properly find our version information.
Change-Id: Iee14aa76b69ca9398688345cb2dcd0db9ecdaedc
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/25524
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
I have so many Zuul installation that I somehow loose track of their
version. I am forced to look at the zuul-server wrapper script to figure
out the current version when I could just ask the might zuul-server to
give me its version straight from the command line.
Example:
$ zuul-server --version
Zuul version: 1.1.0.45.g70c7158
Since we might not have a valid zuul.conf passed, the version display
must happen before server.read_config() or we end up with a stracktrace
on a fresh installation.
Change-Id: I284de8da5af6678c7aaa1b17c950390e135f6e89
Reviewed-on: https://review.openstack.org/25007
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Elizabeth Krumbach <lyz@princessleia.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Add an additional job parameter, 'file', that will cause that
job to only run if the change touches files that match the
specification.
Change-Id: I8c8fd3d029e02e338fd1dd266443b9ac56c0e5ac
Reviewed-on: https://review.openstack.org/23710
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
* tools/pip-requires: A new voluptuous (0.7.0) was released today,
introducing backward-incompatible changes to schema objects and
breaking zuul's layout validation. This is a brown bag fix to keep
zuul functional until voluptuous 0.7 support is implemented.
Change-Id: I5818d3cd529e8682877b368edbc10280a5c167df
Reviewed-on: https://review.openstack.org/24454
Reviewed-by: Anita Kuno <akuno@lavabit.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
* doc/source/zuul.rst: Mention zuul-changes.py and provide sample
syntax in the restarting section.
Change-Id: I05888ca40e16681111e56b9ebf92acc3dc36175b
Reviewed-on: https://review.openstack.org/23938
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
The script prints a gerrit review command for every change in
a given zuul pipeline.
Change-Id: Ibdee87ea64c977e7589cbc3ee9567e866cb78341
Reviewed-on: https://review.openstack.org/23784
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
The fake jenkins queue may have been modified during the call to
get_queue_info, so operate on a copy of the queue (which is more
like reality than locking the queue because we get a copy of the
queue from the jenkins api).
Also, fix a string formatting error which for some reason was
not raising an exception until we tried running the tests on
quantal.
Change-Id: I51e588fb147515c826395439516cf843c2da83f3
Reviewed-on: https://review.openstack.org/23781
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Aborted, lost, skipped, unstable will all cause a change not to
merge, so treat them the same when deciding if any job for a
change failed. This should stop new launches and cancel builds
faster when these alternate failures happen.
Also, make the output of the completed jobs in the test suite
more comprehensible by including the change numbers, and use
a new object with its own string formatting for printing.
Change-Id: I2826b0eb5d26a019fed7d20bb1296624588c9fac
Reviewed-on: https://review.openstack.org/23123
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Processing result events sooner means that we can potentially
stop builds or at least stop launching builds sooner.
New trigger events are only likely to cause us to start new
builds (which may need to be stopped).
Change-Id: I5c33ed74cf4af84900c96c2155b3cec5252248d5
Reviewed-on: https://review.openstack.org/23117
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
We run Gerrit 2.5 with most of 2.6 cherry picked in. At some point
Gerrit has added some new events to the `stream-events` command:
- draft-published
- merge-failed
- reviewer-added
Each event comes with a field holding the account of the user performing
the action. Since Gerrit uses different names for that field, we have to
maintain a map to find out which key holds the account information.
This patch update the map for the three new events.
Also fixed a minor typo in an error message.
Change-Id: I79032280884e50edf83a3ddf60af7a2f62bde971
Reviewed-on: https://review.openstack.org/22690
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Whenever receiving a ref-update event, for example when a tag is
created, deleted or changed, the local Zuul git repository would not
reflect the change.
This patch force a git remote update on the local git repository so the
Jenkins git plugin can actually find the new tag. This is done before
enqueing the change in the pipeline to only update the remote once.
Change-Id: I87a29aa15855bfb367f03da3e15cd8a733b757fd
Reviewed-on: https://review.openstack.org/19928
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
We sometime want to update a repository without fetching an actual
refspec. A typical example is to fetch tags, since I did not manage to
pass -t to git.fetch(), I am using instead the GitPython repo.update()
calls which binds to `git remote update`.
reset() add a clearing cache to make sure PyGit does not fail whenever
the remote repository has been updated. Instead of duplicating code
between reset() and update(), I have moved the recache command to
update() and make reset() to call this new update().
Change-Id: I0d989dfc1f31ede6c79ccdd1d5b3968978a418ab
Reviewed-on: https://review.openstack.org/19927
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Change-Id: I79fc7d1df0612fbe87e9b61499111c2d08d78dd0
Reviewed-on: https://review.openstack.org/23046
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Even though we're removing from (potentially) the middle of the
queue, restart jobs behind this change since the situation has
changed.
Change-Id: Iab44898bda07d991a3d4c53715bf7a04ff58c9d1
Reviewed-on: https://review.openstack.org/23038
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Previously Zuul had to merge the entire change tree for each change
in the DependentPipeline. Remember previous merges to save time and
only merge changes against their project and branch.
Co-Authored-By: James E. Blair <jeblair@openstack.org>
Change-Id: I8105ac3aa4e4697e90e8d7fac1e54c5614f79daf
Reviewed-on: https://review.openstack.org/22504
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
The github project has changed from `openstack-ci` to `openstack-infra`,
but two links in the documentation do not reflect this change.
Change-Id: I9359d1071f33719da39fdefd14deea728b9dbfff
Reviewed-on: https://review.openstack.org/23033
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Voluptuous has a version 0.6 now which deprecates the any, match, and
required predicates and replaces them with Any, Match, and Required.
Update the minimum required version of Voluptuous and stop using the
deprecated predicates.
Change-Id: I554a6fda2c622a0b63f9247b1eae5eb494af225b
Reviewed-on: https://review.openstack.org/22167
Reviewed-by: Khai Do <zaro0508@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Needed by Jenkins 1.502.
(Also don't print the results of error messages so they don't
clutter stdout, but leave them there as a debug option
comments because they are very handy when debugging
Jenkins API issues.)
Change-Id: I2e1dcc1ac2344b1eb9f66292b6fd30900cb45e6d
Reviewed-on: https://review.openstack.org/22579
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This reverts commit dd26978d5d.
The performance of mergability checking is poor and starves zuul from
processing other things. revert the change until we can come up with a
better performing solution to this problem.
Change-Id: I744031159572236f61b3fca45bb22492135ebcb2
Reviewed-on: https://review.openstack.org/22251
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
isUpdateOf is passed an "other" changeish that may be a Ref which does
not have number and patchset fields which are compared against in
Change's isUpdateOf method. Check that fields exist before comparisons
are made.
Change-Id: Ifb5a36dcb0377f496e6b0707ae27810b96f2c752
Reviewed-on: https://review.openstack.org/22159
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
In the DependentPipeline remove changes if they have absolutely no
chance of merging (all possible merge combinations fail). This allows
zuul to remove changes as soon as possible when it is known that they
cannot merge and continue testing the remaining changes.
Fixes bug 1123329
Change-Id: I97af03cca997541f6a8b3fb519d2a44825dbd937
Reviewed-on: https://review.openstack.org/21723
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
When a new patchset is created for a change that is in a pipeline,
cancel running builds and dequeue that change (and possibly
dependent changes that can no longer merge).
Make this optional (and document the option).
Fixes bug 1022643.
Change-Id: I8f591956cf86645443e4b6075b8cdfc95a939e4f
Reviewed-on: https://review.openstack.org/20948
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Change-Id: Iae253977eafaff1a7cbdcaf1b873388487c4e36e
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/21730
Reviewed-by: Elizabeth Krumbach <lyz@princessleia.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Change-Id: I6dcd87a59d836dc22b67a2bee7c764e0b603a809
Reviewed-on: https://review.openstack.org/21543
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
A working example that can be customized for site use.
Change-Id: I6e6fdf245a55a767aa7e86486b6c47dae221f47b
Reviewed-on: https://review.openstack.org/19989
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
The ref objects were missing a python __repr__, ended up with a not so
useful trace in the debug.log. This creates a meaningful representation
for human consumption:
<Ref 0x7f51f848ffd0 creates refs/tags/v2.0.0 on 4eb656fe>
<Ref 0x7f51f8491990 refs/tags/v2.0.0 updated 4eb656f..2260abb>
<Ref 0x7f51f848f610 deletes refs/tags/v2.0.0 from 2260abb>
(sha1 above have been made shorter than the actual output)
Change-Id: If3b60494f1984a04e9ffada38f7e3b99f2a8ba0e
Reviewed-on: https://review.openstack.org/19925
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
* Number of changes processed.
* Time each change spent in pipeline.
* Current number of changes in pipeline.
All of those per-pipeline, and per-pipeline, per-project.
Change-Id: I609ff33ab7c26fc43d323f8a0bbb61f93382af90
Reviewed-on: https://review.openstack.org/19764
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Change-Id: I7e3bd8eed585133ee217a1e462b9833df494be21
Reviewed-on: https://review.openstack.org/19718
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
The documentation files often have minor typo or badly formatted
commands which makes sphinx emits a warning. To make sure we always
catch them via the Jenkins build, this patch makes sphinx to convert
warning to errors thus aborting the build, simply add to pass the -W
option to sphinx-build.
This patch also fix some warnings:
* There is no source/_static dir so disable html_static_path
* In launchers.rst, File reference name should be before the title
Test plan:
$ make clean; make html
rm -rf build/*
sphinx-build -b html -d build/doctrees -W source build/html
Making output directory...
Running Sphinx v1.1.3
loading pickled environment... not yet created
loading intersphinx inventory from
http://docs.python.org/2.7/objects.inv...
building [html]: targets for 5 source files that are out of date
updating environment: 5 added, 0 changed, 0 removed
reading sources... [100%] zuul
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] zuul
writing additional files... genindex search
copying static files... done
dumping search index... done
dumping object inventory... done
build succeeded.
Build finished. The HTML pages are in build/html.
$
Change-Id: Id907cc2c9aeccd077593b2fa1b78b220a159ed71
Reviewed-on: https://review.openstack.org/16316
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
By setting parameters on a pipeline, you can change the default
"Build successful/failed" introductory messages left on Gerrit.
Change-Id: Ie05c8c87a47994faced4ee67fda4ab4e64ea0d20
Reviewed-on: https://review.openstack.org/19677
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Based on voluptuous library.
Basic validation should catch typos, missing or extra attributes.
Can be expanded to do more serious validation (ie, specifying
a comment in a trigger should require the event be comment-added).
Adds a command line option to validate a named layout file and
exit.
(Also add dist/ to .gitignore.)
Change-Id: Ia864ebde1765141d4d1a52bc77033689b6210e81
Reviewed-on: https://review.openstack.org/19443
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Instead, use queue task_done calls to indicate that the scheduler
has finished processing events. This lets the tests know when
the queues are both empty and all requests have been handled.
Add a lock around reporting complete events in fake jenkins jobs
so that waitUntilSettled can be assured that no new events will
arrive.
Directly report LOST builds when a job doesn't exist, rather
than spawning a new thread (which was only done to work around
the lock).
Change-Id: I32ad46648c82d7458fb5be779c62ac5b57857674
Reviewed-on: https://review.openstack.org/19330
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Zuul already treats LOST jobs as failures in much of the code. Do the
same in didAnyJobFail so that changes behind a change with a LOST job
get their jobs cancelled.
Change-Id: I1eb819a6cfb3b3ee0a2c131417b00dab1d83f29d
Reviewed-on: https://review.openstack.org/19270
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
These occur at critical points in the code and should be protected
with exception handlers.
Make sure that a build actually has a start time before calculating
its duration.
Change-Id: I1ff1260da0b7b5095c6b075bd0d78c7a1490686a
Reviewed-on: https://review.openstack.org/19023
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
When a build is reported as lost, it has no start_time, so the
code that calculated the run-time for statsd threw an exception.
Correct that by only calculating the run time for jobs that have
really completed.
Add debug lines to onBuild* that would have helped diagnose this.
Keep track of the throwaway threads that are used to report LOST
builds so that the test suite can more correctly know when the
system is settled.
Add a test case for a single non-existent post job.
Add STATSD_* env variables in tox to make sure that the statsd
code paths are executed by tests.
Change-Id: I339443cbad7b0858d70e9180d63dfb701b8eaee9
Reviewed-on: https://review.openstack.org/18792
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
The filtering regexp should not allow greedy matchers (such as .*) but
use non greedy ones (such as .*?). One want to escape dots as well.
Additionally, whenever one want to add several emails, he should use a
YAML list.
Change-Id: I9deea0893151358ddde9b1ec5a40c322c45d7ff2
Reviewed-on: https://review.openstack.org/18350
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Also, minor optimization to email filter matching.
Change-Id: Iedea0fc14b10a8f68ec52e38ceab4b2fb407e364
Reviewed-on: https://review.openstack.org/18515
Reviewed-by: Antoine Musso <hashar@free.fr>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Reports statistics on job runtime, number/rate of jobs run, and
number/rate of individual gerrit events to statsd.
Change-Id: I0db9352610b4c268c95da98fd282d7f463945f90
Reviewed-on: https://review.openstack.org/18628
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
So that status pages can easily link to gitweb urls of ref-update
triggered changes.
Change-Id: Id9b708a473d92c30727f66578a0174f18c657723
Reviewed-on: https://review.openstack.org/18602
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Can be used for nifty ajax-style status pages.
Add optional description field to pipeline.
Change-Id: If5db3f6945f65f038833cbf9c783de5ffef63b49
Reviewed-on: https://review.openstack.org/18579
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Add the option to specify the URL pattern left in Gerrit, per-job.
Example: a job that builds documentation and uploads it to a staging
site can leave the URL of the staging site iff the job succeeds.
Change-Id: I34841e61e9116fd8d4de7ac09d8f9cfe36fe78ec
Reviewed-on: https://review.openstack.org/18264
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Some repositories might not have a master branch or could use a
different default HEAD. A git reset was made to remotes/master which
would produce a stacktrace.
Fix https://bugs.launchpad.net/zuul/+bug/1083154
Change-Id: Ie9390c0c5dd707d77fbfa8cff2078a9b31fd31ae
Reviewed-on: https://review.openstack.org/17239
Reviewed-by: Antoine Musso <hashar@free.fr>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
On some setup we might restrict a pipeline to trusted users. The new
email_filter will matches the email coming from the event account
attribute.
In Gerrit, each event hold the account in a different field
name so I have simply added a map to find out the correct field.
email_filter works just like comment_filter, fields are ORed and are
considered to be regex.
Change-Id: I775f67b48d5f162106c024f94fe498a049b3fe94
Reviewed-on: https://review.openstack.org/17609
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins