The Gatekeeper, or a project gating system
Go to file
Fabien Boucher 537dbe5377 Make Zuul able to start with a broken config
When zuul is starting all tenants are configured but if
a bad config is detected in one tenant (like a project references
a non existing job) then the scheduler won't start successfully
and will remain in a broken state.

When direct push to git repositories is allowed then zuul
won't be able to prevent broken config to land. Users could push
broken configurations then zuul won't be able to restart
successfully.

This patch makes zuul able to start with broken config and
register each detected config issues in an array attached
to the tenant.layout object. This array of detected issues
could be later displayed by zuul-web to warn a tenant about
issues related to its zuul job config.

The array of detected issue is limited to the first 10
issues detected by tenant.

Change-Id: I82c4595c2c73cf0192c15e00a8ffdff4a6cce0e6
2018-06-05 17:03:30 +00:00
doc Merge "Add documentation about using the badge" 2018-06-02 07:17:07 +00:00
etc Move SQL web handler to driver 2018-05-31 09:08:53 -07:00
playbooks Remove zuul-tox-py35 2018-04-12 12:39:14 -05:00
releasenotes/notes Make Zuul able to start with a broken config 2018-06-05 17:03:30 +00:00
tests Make Zuul able to start with a broken config 2018-06-05 17:03:30 +00:00
tools Add tox-py36 jobs 2018-05-07 15:07:40 +10:00
web Enable HTML5 mode and remove hash prefix for status 2018-05-30 20:34:14 -04:00
zuul Make Zuul able to start with a broken config 2018-06-05 17:03:30 +00: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 Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06:00
.gitignore Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06: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 Add tox-py36 jobs 2018-05-07 15:07:40 +10: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 Update documentation URLs 2018-05-02 19:05:12 -04:00
TESTING.rst Revert "Revert "Switch to stestr"" 2018-05-17 08:33:40 -07:00
bindep.txt Add tox-py36 jobs 2018-05-07 15:07:40 +10:00
package.json Remove docker instructions and build:docker helper command 2018-04-12 17:39:37 +00:00
requirements.txt Convert streaming unit test to ws4py and remove aiohttp 2018-05-31 09:09:26 -07:00
setup.cfg Remove zuul-cloner command 2018-04-12 11:49:13 -04:00
setup.py Partial sync with OpenStack requirements. 2013-09-25 15:30:37 -07:00
test-requirements.txt Revert "Revert "Switch to stestr"" 2018-05-17 08:33:40 -07:00
tox.ini Support databases on other hosts during tests 2018-05-25 09:29:21 -07:00
webpack.config.js Use yarn and webpack to manage zuul-web javascript 2018-03-04 07:20:40 -06:00
yarn.lock Upgrade to webpack 4 2018-04-10 10:11:19 -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/679

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.