cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Multi-node ZUUL OpenStack gate for bare-metal and Docker

938
Views
1
Helpful
0
Comments
Cisco Employee

In the movie Ghostbusters, Zuul is the demigod and gatekeeper of Gozer, the destructor.

zuul.png

In OpenStack, ZUUL is a program used to gate the source code repository of a project so that changes are only merged if they pass tests.  Zuul is a pipeline-oriented project gating system that facilitates running tests and automated tasks in response to gerrit events.

Zuul - A Project Gating System — Zuul 2.5.2.dev44 documentation

Zuul — OpenStack Project Infrastructure 0.0.1.dev12032 documentation

GitHub - openstack-infra/zuul

Components of Zuul:

  • Connections (Gerrit, SMTP)
  • Triggers (Gerrit, Timer, Zuul)
  • Reporters (Gerrit, SMTP)
  • Zuul Cloner
  • Launchers (Gearman Jenkins Plugin)
  • Statsd reporting (Metrics)
  • Zuul Client

Zuul architecture:


arch1.png















arch2.png


Zulu-Jenkins Integration:

The Gearman Jenkins Plugin makes it easy to use Jenkins with Zuul by providing an interface between Jenkins and Gearman

(https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin).

Gearman Plugin passes Zuul Parameters as Jenkins build parameters (http://docs.openstack.org/infra/zuul/launchers.html#zuul-parameters).


Example Jenkins Git SCM plugin configuration:

Source Code Management:

    Git Repositories:

         Repository URL: <your Gerrit or Zuul repository URL>

        Advanced:

        Refspec: ${Zuul_REF}

        Branches to build:

        Branch Specifier: ${Zuul_COMMIT}

    Advanced:

        Clean after checkout: True

Zuul v3 supports multi-node.  Example multi-node playbook:


### openstack-infra/zuul-playbooks/zuul-multinode.yaml

---

   hosts: controller

   roles:

     - zuul-controller

---

   hosts: compute

   roles:

     - zuul-compute

To deploy Zuul on bare-metal, devstack-vm-gate-wrap.sh must be replaced with bare-metal orchestration.

devstack-vm-gate-wrap.sh - openstack-infra/devstack-gate - Run DevStack in the gate

OpenStack Kolla deploys OpenStack cloud in Docker containers in gate using Zuul.

Kolla - OpenStack

project-config/kolla.yaml at master · openstack-infra/project-config · GitHub

Other useful links needed to deploy Zuul:


This widget could not be displayed.