<div dir="ltr"><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Robyn Bergeron</b> <span dir="ltr"><<a href="mailto:rbergero@redhat.com">rbergero@redhat.com</a>></span><br>Date: Thu, Mar 16, 2017 at 7:30 PM<br>Subject: [OpenStack-Infra] Status of Zuul v3<br>To: <a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>, <a href="mailto:openstack-infra@lists.openstack.org">openstack-infra@lists.openstack.org</a><br><br><br>Greetings!<br>
<br>
This periodic update is primarily intended as a way to keep<br>
contributors to the OpenStack community apprised of Zuul v3 project<br>
status, including future changes and milestones on our way to use in<br>
production. Additionally, the numerous existing and future users of<br>
Zuul outside of the OpenStack community may find this update useful as<br>
a way to track Zuul v3 development status.<br>
<br>
If "changes are coming in the land of Zuul" is new news to you, please<br>
read the section "About Zuul and Zuul v3" towards the end of this<br>
email.<br>
<br>
== Zuul v3 project status and updates ==<br>
<br>
The Big Big news: Updates to Nodepool to support Zuul v3 are done!<br>
This has been a large effort (approximately the size of one Stay-Puft<br>
marshmallow man), and the team is super excited to now have this in<br>
place. Give shrews a high-five if you see him! We still have bugs to<br>
shake out, documentation to update, and a backwards-incompatible<br>
configuration syntax change to make<br>
(<a href="http://lists.openstack.org/pipermail/openstack-infra/2017-January/005018.html" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>pipermail/openstack-infra/<wbr>2017-January/005018.html</a>),<br>
but we can consider it feature complete.<br>
<br>
Continuing to work on and discuss sample jobs: Putting together an<br>
ideal "sample job" and documenting what best practices look like is<br>
essential in enabling future users of Zuul to quickly and easily<br>
create jobs of their own. Paul Belanger has been making progress on<br>
this in the form of a generic tox job (see<br>
<a href="https://review.openstack.org/438281" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>438281</a>), and we're now at the point of<br>
discussing why / how this is a foundational example.<br>
<br>
Additionally, as more of the major subsystems of Zuul complete their<br>
refactoring, the ability for one to contribute to Zuul v3 continues to<br>
get a bit easier. Even though at the moment we still recommend having<br>
deep familiarity with one or more of the subsystems, we do now have<br>
some "low-hanging fruit" tasks listed in storyboard. Use this magical<br>
link to find your way:<br>
<a href="https://storyboard.openstack.org/#!/story/list?status=active&tags=low-hanging-fruit&project_id=679" rel="noreferrer" target="_blank">https://storyboard.openstack.<wbr>org/#!/story/list?status=<wbr>active&tags=low-hanging-fruit&<wbr>project_id=679</a><br>
<br>
Some new specs for enhancements and/or features have been put forth as well:<br>
* An interface for Zuul Job Reporting <a href="https://review.openstack.org/444088" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>444088</a><br>
* Zuulv3 Executor Security Enhancement <a href="https://review.openstack.org/444495" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>444495</a><br>
* Update job trees to graphs <a href="https://review.openstack.org/443985" rel="noreferrer" target="_blank">https://review.openstack.org/<wbr>443985</a> (yes,<br>
technically this is an *update* to a spec, not a new one.)<br>
<br>
Upcoming tasks and focus:<br>
* Re-enabling disabled tests: We're continuing to make our way through<br>
the list of remaining tests that need enabling. See the list, which<br>
includes an annotation as to complexity for each test, here:<br>
<a href="https://etherpad.openstack.org/p/zuulv3skips" rel="noreferrer" target="_blank">https://etherpad.openstack.<wbr>org/p/zuulv3skips</a><br>
* Full task list and plan is in the Zuul v3 storyboard:<br>
<a href="https://storyboard.openstack.org/#!/board/41" rel="noreferrer" target="_blank">https://storyboard.openstack.<wbr>org/#!/board/41</a><br>
<br>
Recent changes:<br>
* Zuul v3: <a href="https://review.openstack.org/#/q/status:closed+project:openstack-infra/zuul+branch:feature/zuulv3,25" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/q/status:closed+project:<wbr>openstack-infra/zuul+branch:<wbr>feature/zuulv3,25</a><br>
(Early adoptors should be aware we renamed zuul-launcher to<br>
zuul-executor, this is a breaking change:<br>
<a href="https://review.openstack.org/#/c/445594" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/445594</a>)<br>
* Nodepool: <a href="https://review.openstack.org/#/q/status:closed+project:openstack-infra/nodepool+branch:feature/zuulv3,25" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/q/status:closed+project:<wbr>openstack-infra/nodepool+<wbr>branch:feature/zuulv3,25</a><br>
<br>
Previous IRC Meeting minutes & logs:<br>
* 2017-03-06 Minutes:<br>
<a href="http://eavesdrop.openstack.org/meetings/zuul/2017/zuul.2017-03-06-22.03.html" rel="noreferrer" target="_blank">http://eavesdrop.openstack.<wbr>org/meetings/zuul/2017/zuul.<wbr>2017-03-06-22.03.html</a><br>
* 2017-03-06 Full log:<br>
<a href="http://eavesdrop.openstack.org/meetings/zuul/2017/zuul.2017-03-06-22.03.log.html" rel="noreferrer" target="_blank">http://eavesdrop.openstack.<wbr>org/meetings/zuul/2017/zuul.<wbr>2017-03-06-22.03.log.html</a><br>
* 2017-03-13 Minutes:<br>
<a href="http://eavesdrop.openstack.org/meetings/zuul/2017/zuul.2017-03-13-22.02.html" rel="noreferrer" target="_blank">http://eavesdrop.openstack.<wbr>org/meetings/zuul/2017/zuul.<wbr>2017-03-13-22.02.html</a><br>
* 2017-03-13 Full log:<br>
<a href="http://eavesdrop.openstack.org/meetings/zuul/2017/zuul.2017-03-13-22.02.log.html" rel="noreferrer" target="_blank">http://eavesdrop.openstack.<wbr>org/meetings/zuul/2017/zuul.<wbr>2017-03-13-22.02.log.html</a><br>
<br>
== About Zuul and Zuul v3 ==<br>
Zuul is a pipeline-oriented project gating system, driving the project<br>
automation necessary to enable a continuous integration environment<br>
for the OpenStack community. It directs the OpenStack community’s<br>
testing, running tens of thousands of jobs each day, responding to<br>
events from the code review system and stacking potential changes to<br>
be tested together. Testing and continuous integration for drivers is<br>
also enabled by OpenStack’s deployment of Zuul for ~50 third-party<br>
projects.<br>
<br>
Zuul v3 is the upcoming, not-yet-in-production version of Zuul<br>
currently under development, bringing (amongst many others) the<br>
following improvements and features:<br>
* simplifying the ability to run jobs in multi-node environments<br>
* improved management of large numbers of jobs and job variations<br>
* support for in-tree job configuration<br>
* ability to define jobs using Ansible (<a href="http://github.com/ansible/ansible" rel="noreferrer" target="_blank">http://github.com/ansible/<wbr>ansible</a>)<br>
<br>
Even though prior versions of Zuul are already in use by numerous<br>
projects and companies not related to OpenStack efforts, a primary<br>
goal of Zuul v3 is to make Zuul a universally useful CI / CD engine<br>
for any size use case. The design of Zuul v3 improves the modularity<br>
of the system, and enables new triggers (such as GitHub) and reporters<br>
(where results are sent) to be more easily integrated with Zuul;<br>
additionally, the ability to execute jobs on non-OpenStack clouds,<br>
such as, well, the other ones :D, as well as non-cloud environments,<br>
will be possible. (These "beyond OpenStack" changes are expected in<br>
Zuul 3.1, which will follow the moment after Zuul v3 is live and in<br>
production for the OpenStack community. Finally, the move from Jenkins<br>
to Ansible, in addition to improving scalability for large<br>
implementations, allows users to write tests using Ansible,<br>
effectively allowing one to “test in the way that you deploy,” and<br>
enables simpler writing of test jobs.<br>
<br>
OpenStack’s current production use of Zuul supports approximately 2500<br>
developers, more than 1500 git repositories, at a rate of more than<br>
2KJPH (kilo-jobs / hour).<br>
<br>
For more background and information on the history, and future, of<br>
Zuul, please see:<br>
* Zuul v3 spec:<br>
<a href="https://specs.openstack.org/openstack-infra/infra-specs/specs/zuulv3.html" rel="noreferrer" target="_blank">https://specs.openstack.org/<wbr>openstack-infra/infra-specs/<wbr>specs/zuulv3.html</a><br>
* Jim Blair’s Zuul v3 talk at OpenStack Summit in Barcelona:<br>
<a href="https://www.youtube.com/watch?v=R4EmE1QEvNU" rel="noreferrer" target="_blank">https://www.youtube.com/watch?<wbr>v=R4EmE1QEvNU</a><br>
* “There is no Jenkins, only Zuul” (blog post, Jim Blair, 2016/06/16):<br>
<a href="http://amo-probos.org/post/18" rel="noreferrer" target="_blank">http://amo-probos.org/post/18</a><br>
* "Zuul v3, What’s Coming" (blog post, Monty Taylor, 2017/02/28):<br>
<a href="http://inaugust.com/posts/whats-coming-zuulv3.html" rel="noreferrer" target="_blank">http://inaugust.com/posts/<wbr>whats-coming-zuulv3.html</a><br>
<br>
Significant dates, milestones, and changes directly affecting<br>
contributors in the OpenStack community will be announced on the<br>
appropriate mailing lists for OpenStack (primarily openstack-dev and<br>
openstack-infra), as well as in future versions of this project status<br>
update.<br>
<br>
NOTE: At this point, Zuul v3 is NOT yet secure or stable. You should<br>
not, not, please, DO NOT ATTEMPT TO RUN IT IN PRODUCTION YOURSELF yet.<br>
It is still under heavy development, and v3 is not currently used in<br>
production for OpenStack. Zuul v3 content (jobs, etc.) should not<br>
undergo heavy creation as syntax is still under development and<br>
expected to change between now and release date.<br>
<br>
== Zuul Community Information ==<br>
<br>
Zuul v3 Storyboard, which tracks tasks and status related to operating<br>
Zuul v3 in production for OpenStack:<br>
<a href="https://storyboard.openstack.org/#!/board/41" rel="noreferrer" target="_blank">https://storyboard.openstack.<wbr>org/#!/board/41</a><br>
<br>
Mailing list: Discussions related to Zuul development, and current /<br>
future operation in production in the OpenStack community, primarily<br>
occur on openstack-infra<br>
(<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-infra</a>).<br>
(Note that this mailing list encompasses the numerous infrastructure<br>
projects supported by OpenStack’s infrastructure team, and is not<br>
exclusively Zuul-focused.)<br>
<br>
IRC Discussion:<br>
Join #openstack-infra on Freenode to discuss Zuul's use in OpenStack<br>
or #zuul to get into the weeds on general Zuul topics and v3<br>
development. For those unacquainted with IRC, see this friendly guide<br>
to using IRC: <a href="https://wiki.openstack.org/wiki/IRC" rel="noreferrer" target="_blank">https://wiki.openstack.org/<wbr>wiki/IRC</a><br>
<br>
Zuul v3 Weekly IRC meeting:<br>
* Mondays at 2200UTC, in #openstack-meeting-alt on Freenode<br>
* Historical meeting logs: <a href="http://eavesdrop.openstack.org/meetings/zuul/" rel="noreferrer" target="_blank">http://eavesdrop.openstack.<wbr>org/meetings/zuul/</a><br>
* Further information, including upcoming meeting agenda:<br>
<a href="https://wiki.openstack.org/wiki/Meetings/Zuul" rel="noreferrer" target="_blank">https://wiki.openstack.org/<wbr>wiki/Meetings/Zuul</a><br>
<br>
Cheers,<br>
<br>
-Robyn (on behalf of the openstack-infra team)<br>
<br>
______________________________<wbr>_________________<br>
OpenStack-Infra mailing list<br>
<a href="mailto:OpenStack-Infra@lists.openstack.org">OpenStack-Infra@lists.<wbr>openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-infra</a></div><br></div>