The Gatekeeper, or a project gating system
Go to file
James E. Blair a51125c876 Handle more than one websocket streamer at a time
The ws4py websocket manager assumes that the received_message
method will return quickly.  It maintains a single thread for
handling all websockets, but the updated websocket handler in
zuul-web assumed it would run in a thread for each request.

To correct this, start a new single thread in the ZuulWeb object
which handles ongoing finger streaming duties for all websocket
streaming threads.  Whenver a new finger streaming websocket
request is handled, that finger socket is added to a poll list
in the new thread, and any newly received data is forwarded to
its associated websocket.

The test_websocket_streaming unit test is altered to start two
client simultaneously to verify the new behavior.

Change-Id: I505b05b98c2c8fa1b3e875cd5e9266e9929f1367
2018-06-06 15:28:30 -07: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 Status branch protection checking for github 2018-06-04 15:47:01 +02:00
tests Handle more than one websocket streamer at a time 2018-06-06 15:28:30 -07:00
tools Add tox-py36 jobs 2018-05-07 15:07:40 +10:00
web Disable rewriting links in status page with HTML5 mode 2018-06-05 17:42:24 -04:00
zuul Handle more than one websocket streamer at a time 2018-06-06 15:28:30 -07: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.