The Gatekeeper, or a project gating system
Go to file
James E. Blair 96c6bf868a Make all configuration in-repo configuration
We need a way to get the ansible playbooks onto the ansible launch
servers.  That's easy for jobs defined in-repo because their repo
will already be on the launch server by definition.  But for the
tenant-global config, those playbooks (and roles, etc) need to be
made available as well.  Rather than shipping them around on the
gearman bus which is inefficient, let's just say that those will
also be in a repo.  Probably the same repo that defines the jobs,
ie in our case, the project-config repo.

In other words -- by making the global config one or more repos
that zuul knows about, the merger component of the launch server
can prepare *that* repo as well as the others involved in any
job, so that the playbooks are available to ansible.

This also has the potential upside of making changes that Depends-On
zuul configuration or ansible playbook changes much more natural
to implement.

We also keep track of the source repo for job definitions so that
we can potentially use that to tell the launch server what repos
should be included for playbooks, though this is not plumbed through
yet.

This adds some features to the test framework to copy a directory
in the fixtures dir into a git repo since we're going to have a
lot more 'git repo content' that should just be in the fixtures dir.

It also removes the merge worker from the tests because it was
racing with the ansible launcher cat handler.  The merge worker
can probably be completely removed in a later change.

Change-Id: I8fc5a8f627e3d915d54d15e70b7960655a6332a1
2016-03-21 19:58:21 -07:00
doc Add job tags 2016-03-09 10:07:28 -08:00
etc Document the new connections in zuul 2015-12-06 14:48:32 +11:00
tests Make all configuration in-repo configuration 2016-03-21 19:58:21 -07:00
tools Update zuul-changes to use the enqueue command 2015-03-03 15:46:04 +11:00
zuul Make all configuration in-repo configuration 2016-03-21 19:58:21 -07:00
.gitignore Merge master into feature/zuulv3 2016-02-12 14:10:03 +11:00
.gitreview Set default branch to feature/zuulv3 2015-12-07 11:28:01 -08:00
.mailmap Fix pep8 E127 violations 2012-09-26 14:23:10 +00:00
.testr.conf Add ability to skip log capture. 2013-07-02 17:47:23 +00:00
LICENSE Initial commit. 2012-05-29 14:49:32 -07:00
MANIFEST.in Migrate to pbr. 2013-06-25 19:04:30 +00:00
NEWS.rst Fix two typos on zuul documentation 2015-07-28 22:16:32 +09:00
README.rst Switched documentation to point to storyboard. 2014-11-11 15:59:24 -08:00
TESTING.rst Support multiple triggers 2013-08-01 11:56:52 -07:00
requirements.txt Merge branch 'master' into feature/zuulv3 2016-03-11 13:24:00 +11:00
setup.cfg Replace ci.o.o links with docs.o.o/infra 2015-05-14 21:38:19 +00:00
setup.py Partial sync with OpenStack requirements. 2013-09-25 15:30:37 -07:00
test-requirements.txt Enhance CRD doc with diagrams 2015-11-18 15:19:51 +11:00
tox.ini Pass ZUUL_TEST_ROOT through tox 2016-02-03 15:20:34 -08:00

README.rst

Zuul

Zuul is a trunk gating system developed for the OpenStack Project.

Contributing

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

Bugs are handled at: https://storyboard.openstack.org/#!/project/679

Code reviews are, as you might expect, handled by gerrit. The gerrit they use is http://review.openstack.org

Use git review to submit patches (after creating a gerrit account that links to your launchpad account). Example:

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