Zuul v3

Monty Taylor


twitter: @e_monty

Zuul v2 Current Status

  • In production for OpenStack
  • Also in use by ~50 3rd-party CI systems for OpenStack
  • Also in use by Wikimedia, HPE and others
  • Receives events from and reports results to Gerrit
  • Multiple git repository relationship aware
  • Nodepool attaches single-use cloud slaves to Jenkins Master Pool
  • Triggers jobs on Jenkins Pool for executing job content
  • Jenkins serves no role except remote execution

What is Zuul v3

  • Replace Jenkins with Ansible
  • Change zuul/nodepool interaction to zuul requesting N resources from nodepool
    • Zuul requests N resources from nodepool
    • Zuul creates ansible inventory, passes to job executors
    • Job executor runs job content on build resources using ansible + inventory
  • Add github PR integration in addition to gerrit
  • Add multi-tenancy for job configs and secrets
  • Add in-repo job configs - self testing CI config
  • Add reusable build resources (such as bare metal)
  • Add container build resources (docker, kubernetes)

Zuul v3 Current Status

  • Zuul v3 Spec is approved - OpenStack CI will move to it
  • First phase of all the hard bits is done in the v3 branch
  • Nodepool v2 branching now as nodepool/shade integration has landed
  • Estimate 2 months of effort to be at initial feature complete for OpenStack

Zuul v3 Future need

  • Supporting expanded userbases outside of OpenStack adds importance to original wishlist features
    • Github Integration
    • Container Integration
    • Non-OpenStack Cloud (AWS, GCE, Azure)
  • Github support for the v2 branch already written, not merged pending v3
  • Initial design for container integration done
    • Need a deeper detailed spec
  • Non-OpenStack Cloud simple to implement in nodepool v2

Zuul v2.5

  • Waiting for Zuul v3 got costly
  • Zuul "2.5" is a release-valve to solve immedate problems
    • Jenkins replaced by Ansible
    • Ansible workers directly read Jenkins Job Builder templates
    • Accelerating review of github PR patches with view of landing in weeks

Thank you!


twitter: @e_monty