Who am I?

Office of Technology

Zuul

Ansible

Who am I?

Technical Committee

Foundation Board of Directors

Developer Infrastructure Core Team

What are we going to talk about?

What is Zuul?

Terminology

Why?

The original OpenStack use case

OpenStack Scale by the numbers

ansible has received 13171 PRs (changes), has merged 8190 of them and has 37788 commits in its entire lifetime

Multi Repository Speculative Execution

Zuul Animation

http://docs.openstack.org/infra/publications/zuul/#(18)

Multi-Repo Dependencies


commit 30039f04109efa2263aba6eb302a29bd8d5e8f53
Author: Monty Taylor
Date:   Mon Sep 26 14:14:15 2016 -0500

    Add simple field for disabled flavors

    When we were equalizing out the old silly names from the new pretty
    ones, we missed disabled.

    Change-Id: I4cbf5f7c27f640c566460c18951ab9030aae84e4
    Depends-On: I523e0ab6e376f5ff6205b1cc1748aa6d546919cb
      

Multi-Repo Dependencies - an example

Isn't this supposed to prevent neutron from breaking shade?

Not Specific to OpenStack

Status Pages

https://integration.wikimedia.org/zuul/

http://status.openstack.org/zuul/

Pluggable

Zuul v2

image

Zuul v2.5

http://logs.openstack.org/09/352209/7/check/gate-networking-ovn-python35/0fae86c/_zuul_ansible/

Why Replace Jenkins?

Not for lack of trying

Before I answer that ...

The world is a better place with Jenkins existing

Jenkins Problems

Security

Stability

Scalability

Overkill

We know a better engine for remote execution

image

Zuul V3

Test things like you deploy them

Ansible execution

Merge the mergers and the launchers

In repo config

Test tests before you land them

First class multi-node support


- job:
    name: ursula
    parent: base
    nodes:
    - name: controller
      image: ubuntu-trusty
    - name: db
      image: centos-7
      

Active node requests

Status

Focus

Next up

For More Information