The Gatekeeper, or a project gating system
Go to file
Tobias Henkel 30cb2b1484
Fix unreachable nodes detection
According to the docs ansible is expected to return 3 if there were
unreachable nodes. Zuul reacts on this and retries the job. However
ansible really returns 4 in this case [1] which actually is the code
for a parse error (which doesn't make sense to retry).

To work around that add a simple callback plugin that gets notified if
there are unreachable nodes and write the information about which
nodes failed to a special file beneath the job-output.txt. The
executor can detect this and react properly then. Further we have the
information about which nodes failed in this file which gets uploaded
to the log server too if it exists.

[1] https://github.com/ansible/ansible/issues/19720

Change-Id: I6d609835dba18b50dcbe883d01c6229ce4e38d91
2018-09-29 13:13:00 +02:00
doc Update docs theme logo 2018-09-13 23:57:30 +00:00
etc Fix indent error for layout.yaml-sample. 2018-06-20 12:20:23 +08:00
playbooks Fix unreachable nodes detection 2018-09-29 13:13:00 +02:00
releasenotes/notes Fix unreachable nodes detection 2018-09-29 13:13:00 +02:00
tests Fix unreachable nodes detection 2018-09-29 13:13:00 +02:00
tools scheduler: return project_canonical in status page 2018-07-27 13:08:56 +00:00
web Correctly show remaining time as unknown 2018-09-12 09:45:06 -06:00
zuul Fix unreachable nodes detection 2018-09-29 13:13:00 +02:00
.babelrc Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06:00
.coveragerc Revert "Revert "Switch to stestr"" 2018-05-17 08:33:40 -07:00
.eslintrc Revert "Revert "Upgrade from angularjs (v1) to angular (v6)"" 2018-06-27 08:37:25 -05:00
.gitignore Add .stestr to .gitignore 2018-06-11 13:00:17 +02:00
.gitreview Updated .gitreview location 2012-12-16 20:34:13 +00:00
.mailmap Fix pep8 E127 violations 2012-09-26 14:23:10 +00:00
.stestr.conf Revert "Revert "Switch to stestr"" 2018-05-17 08:33:40 -07:00
.zuul.yaml Use tox-docs directly 2018-09-12 20:20:50 +02:00
COPYING Update README and add GPL license 2018-03-19 09:25:52 -07:00
LICENSE Initial commit. 2012-05-29 14:49:32 -07:00
MANIFEST.in Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06:00
README.rst Switch storyboard url to be by name 2018-08-03 10:18:12 -05:00
TESTING.rst Revert "Revert "Switch to stestr"" 2018-05-17 08:33:40 -07:00
bindep.txt Need SSH client for Ansible 2018-09-08 21:41:57 -07:00
package.json Revert "Revert "Upgrade from angularjs (v1) to angular (v6)"" 2018-06-27 08:37:25 -05:00
requirements.txt Cap cherrypy and uncap sphinx 2018-09-04 15:40:08 -07:00
setup.cfg Add openstacksdk to executor extras 2018-07-27 15:20:16 -07:00
setup.py Partial sync with OpenStack requirements. 2013-09-25 15:30:37 -07:00
test-requirements.txt Cap cherrypy and uncap sphinx 2018-09-04 15:40:08 -07:00
tox.ini Update docs build job 2018-08-22 05:27:16 +00:00
tsconfig.json Revert "Revert "Upgrade from angularjs (v1) to angular (v6)"" 2018-06-27 08:37:25 -05:00
tslint.json Revert "Revert "Upgrade from angularjs (v1) to angular (v6)"" 2018-06-27 08:37:25 -05:00
webpack.config.js Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06:00
yarn.lock Revert "Revert "Upgrade from angularjs (v1) to angular (v6)"" 2018-06-27 08:37:25 -05:00

README.rst

Zuul

Zuul is a project gating system.

The latest documentation for Zuul v3 is published at: https://zuul-ci.org/docs/zuul/

If you are looking for the Edge routing service named Zuul that is related to Netflix, it can be found here: https://github.com/Netflix/zuul

If you are looking for the Javascript testing tool named Zuul, it can be found here: https://github.com/defunctzombie/zuul

Getting Help

There are two Zuul-related mailing lists:

zuul-announce

A low-traffic announcement-only list to which every Zuul operator or power-user should subscribe.

zuul-discuss

General discussion about Zuul, including questions about how to use it, and future development.

You will also find Zuul developers in the #zuul channel on Freenode IRC.

Contributing

To browse the latest code, see: https://git.zuul-ci.org/cgit/zuul/tree/ To clone the latest code, use git clone https://git.zuul-ci.org/zuul

Bugs are handled at: https://storyboard.openstack.org/#!/project/openstack-infra/zuul

Code reviews are handled by gerrit at https://review.openstack.org

After creating a Gerrit account, use git review to submit patches. Example:

# Do your commits
$ git review
# Enter your username if prompted

Join #zuul on Freenode to discuss development or usage.

License

Zuul is free software. Most of Zuul is licensed under the Apache License, version 2.0. Some parts of Zuul are licensed under the General Public License, version 3.0. Please see the license headers at the tops of individual source files.

Python Version Support

Zuul v3 requires Python 3. It does not support Python 2.

As Ansible is used for the execution of jobs, it's important to note that while Ansible does support Python 3, not all of Ansible's modules do. Zuul currently sets ansible_python_interpreter to python2 so that remote content will be executed with Python 2.