diff options
author | James E. Blair <jeblair@redhat.com> | 2018-03-19 09:24:21 -0700 |
---|---|---|
committer | James E. Blair <jeblair@redhat.com> | 2018-03-19 09:25:52 -0700 |
commit | 09ef12843ba37d89573b587f2b80d8f1ce6edf2a (patch) | |
tree | 0151611f4ecd52ae88ae04fe375cf5d2e65a7382 /README.rst | |
parent | e6396b97e830aa1429f994cfba547b299d612626 (diff) | |
download | zuul-09ef12843ba37d89573b587f2b80d8f1ce6edf2a.tar.gz |
Update README and add GPL license
Update the README to mention that some files are licensed under
the GPL. Include a copy of the GPL in the repo.
Also update the README to reflect the state of the project now that
we are approaching the v3 release.
Change-Id: I572dc565bf5cc1a89af476c7461236aa325a7bd6
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 157 |
1 files changed, 28 insertions, 129 deletions
diff --git a/README.rst b/README.rst index 85a7c78b3..c90f1027c 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,7 @@ Zuul ==== -Zuul is a project gating system developed for the OpenStack Project. - -We are currently engaged in a significant development effort in -preparation for the third major version of Zuul. We call this effort -`Zuul v3`_ and it is described in more detail below. +Zuul is a project gating system. The latest documentation for Zuul v3 is published at: https://docs.openstack.org/infra/zuul/ @@ -18,131 +14,48 @@ If you are looking for the Javascript testing tool named Zuul, it can be found here: https://github.com/defunctzombie/zuul -Contributing +Getting Help ------------ -We are currently engaged in a significant development effort in -preparation for the third major version of Zuul. We call this effort -`Zuul v3`_. +There are two Zuul-related mailing lists: + +`zuul-announce <http://lists.zuul-ci.org/cgi-bin/mailman/listinfo/zuul-announce>`_ + A low-traffic announcement-only list to which every Zuul operator or + power-user should subscribe. + +`zuul-discuss <http://lists.zuul-ci.org/cgi-bin/mailman/listinfo/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.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 at -https://review.openstack.org +Code reviews are handled by gerrit at https://review.openstack.org -Use `git review` to submit patches (after creating a Gerrit account -that links to your launchpad account). Example:: +After creating a Gerrit account, use `git review` to submit patches. +Example:: # Do your commits $ git review # Enter your username if prompted -Zuul v3 +Join `#zuul` on Freenode to discuss development or usage. + +License ------- -The Zuul v3 effort involves significant changes to Zuul, and its -companion program, Nodepool. The intent is for Zuul to become more -generally useful outside of the OpenStack community. This is the best -way to get started with this effort: - -1) Read the Zuul v3 spec: http://specs.openstack.org/openstack-infra/infra-specs/specs/zuulv3.html - - We use specification documents like this to describe large efforts - where we want to make sure that all the participants are in - agreement about what will happen and generally how before starting - development. These specs should contain enough information for - people to evaluate the proposal generally, and sometimes include - specific details that need to be agreed upon in advance. They are - living documents which can change as work gets underway. However, - every change or detail does not need to be reflected in the spec -- - most work is simply done with patches (and revised if necessary in - code review). - -2) Read the Nodepool build-workers spec: http://specs.openstack.org/openstack-infra/infra-specs/specs/nodepool-zookeeper-workers.html - -3) Review any proposed updates to these specs: https://review.openstack.org/#/q/status:open+project:openstack-infra/infra-specs+topic:zuulv3 - - Some of the information in the specs may be effectively superceded - by changes here, which are still undergoing review. - -4) Read developer documentation on the internal data model and testing: http://docs.openstack.org/infra/zuul/developer.html - - The general philosophy for Zuul tests is to perform functional - testing of either the individual component or the entire end-to-end - system with external systems (such as Gerrit) replaced with fakes. - Before adding additional unit tests with a narrower focus, consider - whether they add value to this system or are merely duplicative of - functional tests. - -5) Review open changes: https://review.openstack.org/#/q/status:open - - We find that the most valuable code reviews are ones that spot - problems with the proposed change, or raise questions about how - that might affect other systems or subsequent work. It is also a - great way to stay involved as a team in work performed by others - (for instance, by observing and asking questions about development - while it is in progress). We try not to sweat the small things and - don't worry too much about style suggestions or other nitpicky - things (unless they are relevant -- for instance, a -1 vote on a - change that introduces a yaml change out of character with existing - conventions is useful because it makes the system more - user-friendly; a -1 vote on a change which uses a sub-optimal line - breaking strategy is probably not the best use of anyone's time). - -6) Join #zuul on Freenode. Let others (especially jeblair who is - trying to coordinate and prioritize work) know what you would like - to work on. - -7) Check storyboard for status of current work items: https://storyboard.openstack.org/#!/board/41 - - Work items tagged with ``low-hanging-fruit`` are tasks that have - been identified as not requiring an expansive knowledge of the - system. They may still require either some knowledge or - investigation into a specific area, but should be suitable for a - developer who is becoming acquainted with the system. Those items - can be found at: - https://storyboard.openstack.org/#!/story/list?tags=low-hanging-fruit&tags=zuulv3 - -Once you are up to speed on those items, it will be helpful to know -the following: - -* Zuul v3 includes some substantial changes to Zuul, and in order to - implement them quickly and simultaneously, we temporarily disabled - most of the test suite. That test suite still has relevance, but - tests are likely to need updating individually, with reasons ranging - from something simple such as a test-framework method changing its - name, to more substantial issues, such as a feature being removed as - part of the v3 work. Each test will need to be evaluated - individually. Feel free to, at any time, claim a test name in this - story and work on re-enabling it: - https://storyboard.openstack.org/#!/story/2000773 - -* Because of the importance of external systems, as well as the number - of internal Zuul components, actually running Zuul in a development - mode quickly becomes unweildy (imagine uploading changes to Gerrit - repeatedly while altering Zuul source code). Instead, the best way - to develop with Zuul is in fact to write a functional test. - Construct a test to fully simulate the series of events you want to - see, then run it in the foreground. For example:: - - .tox/py27/bin/python -m testtools.run tests.unit.test_scheduler.TestScheduler.test_jobs_executed - - See TESTING.rst for more information. - -* There are many occasions, when working on sweeping changes to Zuul - v3, we left notes for future work items in the code marked with - "TODOv3". These represent potentially serious missing functionality - or other issues which must be resolved before an initial v3 release - (unlike a more conventional TODO note, these really can not be left - indefinitely). These present an opportunity to identify work items - not otherwise tracked. The names associated with TODO or TODOv3 - items do not mean that only that person can address them -- they - simply reflect who to ask to explain the item in more detail if it - is too cryptic. In your own work, feel free to leave TODOv3 notes - if a change would otherwise become too large or unweildy. +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 ---------------------- @@ -152,18 +65,4 @@ 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 Python2. - -Roadmap -------- - -* Begin using Zuul v3 to run jobs for Zuul itself -* Implement a shim to translate Zuul v2 demand into Nodepool Zookeeper - launcher requests -* Begin using Zookeeper based Nodepool launchers with Zuul v2.5 in - OpenStack Infra -* Move OpenStack Infra to use Zuul v3 -* Implement Github support -* Begin using Zuul v3 to run tests on Ansible repos -* Implement support in Nodepool for non-OpenStack clouds -* Add native container support to Zuul / Nodepool +content will be executed with Python 2. |