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