SlideShare a Scribd company logo
How Openstack
is Built
Ant(on) Weiss - Otomato
http://otomato.link
1
How Big is OpenStack?
265,850 commits
5,744 developers
54 project teams
585 git repos
2
OpenStack CI System
3
• Developed and managed by the OpenStack Infra team
Ansible+Puppet - two invisible hands.
■ All configuration of CI infra nodes is managed by Puppet manifests 

■ The ‘Puppetmaster’ is actually an Ansible control machine

■ Puppetmaster holds playbook + hiera data

■ Ansible playbooks trigger ‘puppet apply’ on the nodes
4
+
Git - the mighty archivist
■ the most widely used distributed
open-source VCS 

■ Served by ‘cgit’

■ Changes submitted with the help
of ‘git-review’ tool
5
Gerrit – the gatekeeper
■ Originally developed by Shawn
Pearce at Google for Android
development.

■ Manages git repositories

■ Provides code review and
approval rules

■ Collaborates with human and non-
human gatekeepers
6
Zuul – the dispatcher
■ Written by James E. Blair

■ Defines and enforces the gating
process

■ Listens to Gerrit events

■ Manages the queue and
dependencies

■ Dispatches the verification
process to Jenkins (through
Gearman)
7
Zuul – the beautiful dispatcher
■ Written by James E. Blair

■ Defines and enforces the gating
process

■ Listens to Gerrit events

■ Manages the queue and
dependencies

■ Dispatches the verification
process to Jenkins (through
Gearman)
8
Gearman - the outsourcer
■ a framework to farm out work to
other machines or processes
9
■ sends jobs to Jenkins
through jenkins gearman
plugin (by Khai Do & James
E. Blair)

■ manages the job queues
Jenkins - the butler :)
■ Continuous Integration Server

■ Executes testing jobs, records executions results

■ Jobs performed on slaves

■ “Our jenkins servers, at peak load, runs 20,000+ jobs
per day. At that load we require many jenkins slaves
(900+)…” (From Jenkins Gearman plugin page)

■ Jobs created and managed by Jenkins Job Builder

■ devstack slaves provisioned by Nodepool
10
Jenkins Job Builder
■ Configures Jenkins jobs using YAML files stored in git

■ Defaults, macros and job configs

- job:
name: example-docs
node: node-label
triggers:
- zuul
builders:
- git-prep
- docs
publishers:
- scp:
site: 'scp-server'
files:
- target: 'dir/ectory'
source: 'build/html/foo'
keep-hierarchy: true
- console-log 11
Nodepool - the provisioner
■ Manages a pool of Devstack images to use in project testing.

■ Provisions nodes on HP and Rackspace clouds. (using novaclient)

■ Makes sure there are always available nodes for each provider type.

■ Listens to events from Jenkins ZeroMQ publisher plugin. (by C.Boylan)

■ Tears down old instances when tests are completed.
12
DevStack Gate
■ The integration test that verifies that all projects still work together after the
changes

■ Provides a full OpenStack installation on a single machine with Devstack

■ Installs Devstack and runs Tempest (the OpenStack integration test suite)
13
Logstash
■ All jenkins job logs are indexed
and stored by Logstash 

■ Logs pushing also handled by
Gearman jobs
14
■ Elastic Search helps analyze the
test results
Wrap Up
■ Git

■ Gerrit

■ Zuul

■ Gearman

■ Jenkins Job Builder

■ Jenkins

■ Devstack

■ Nodepool

■ Logstash
15
Only 9 out of 32 projects/tools 

managed by the 

Openstack Infra

Team
Some References:
■ Scaling the OpenStack Test Environment - http://amo-probos.org/post/15

■ Zuul: a Pipelining Trunk Gating System - http://amo-probos.org/post/14

■ Multiple Jenkins Masters with Jenkins Gearman Plugin - http://
docs.openstack.org/infra/publications/gearman-plugin

■ Understanding the OpenStack CI System - www.joinfu.com/2014/01/
understanding-the-openstack-ci-system/

■ cgit - https://git.zx2c4.com/cgit/about/
16

More Related Content

PDF
Running CentOS on the Facebook fleet
PPTX
LinuxKit
PDF
systemd @ Facebook -- a year later
PDF
Kubernetes 架構與虛擬化之差異
PPTX
You're monitoring Kubernetes Wrong
PDF
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
PDF
2018년 3월 정기 세미나 - March 2018 Ops Meetup 후기
PDF
OMD and Check_mk
Running CentOS on the Facebook fleet
LinuxKit
systemd @ Facebook -- a year later
Kubernetes 架構與虛擬化之差異
You're monitoring Kubernetes Wrong
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
2018년 3월 정기 세미나 - March 2018 Ops Meetup 후기
OMD and Check_mk

What's hot (20)

PDF
Experiences from Running Masterless Puppet - PuppetConf 2014
PDF
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
PDF
JupyterHub + kubernetes
PDF
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
PDF
OpenNebula Conf 2014 | Puppet and OpenNebula - David Lutterkort
PDF
KubeCon EU 2016: Killing containers to make weather beautiful
PDF
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
PDF
利用K8S實現高可靠應用
PDF
Tupperware: Containerized Deployment at FB
PDF
WKSctl: Gitops Management of Kubernetes Clusters
PPTX
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
PPTX
k8sjp#9 KubeCon - Service Mesh, ML/DL on k8s
PPTX
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
PDF
Sysdig monitor - a brief introduction
PDF
Masterless puppet
PDF
15 kubernetes failure points you should watch
PDF
A One-Stop Solution for Puppet and OpenStack
PDF
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
PDF
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
PDF
Infrastructure-as-Code and CI Infrastructure at OpenStack
Experiences from Running Masterless Puppet - PuppetConf 2014
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
JupyterHub + kubernetes
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
OpenNebula Conf 2014 | Puppet and OpenNebula - David Lutterkort
KubeCon EU 2016: Killing containers to make weather beautiful
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
利用K8S實現高可靠應用
Tupperware: Containerized Deployment at FB
WKSctl: Gitops Management of Kubernetes Clusters
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
k8sjp#9 KubeCon - Service Mesh, ML/DL on k8s
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
Sysdig monitor - a brief introduction
Masterless puppet
15 kubernetes failure points you should watch
A One-Stop Solution for Puppet and OpenStack
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Infrastructure-as-Code and CI Infrastructure at OpenStack
Ad

Viewers also liked (20)

PDF
Foire de Caen 2015 - Communiqué de Presse
PDF
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
PDF
TechStory_CLASA_A4_eng_[1]
PPTX
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
PDF
Same looks, different compo...
ODP
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
ODP
Nadya ip 9ci
PPTX
Tarea 3: Competencias informáticas
PDF
Application Management in Openstack
PDF
4.4 fractional exponents notes 2
PPTX
muhammad salman LI ppt
DOCX
HIPERVINCULOS
PDF
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
PPTX
Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...
PDF
OpenStack in Production
PDF
Heat optimization
PDF
Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...
PPTX
The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016
PPTX
The IDI Digital Transformation - OpenStack Day Israel 2016
PPTX
Fluo CICD OpenStack Summit
Foire de Caen 2015 - Communiqué de Presse
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
TechStory_CLASA_A4_eng_[1]
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Same looks, different compo...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Nadya ip 9ci
Tarea 3: Competencias informáticas
Application Management in Openstack
4.4 fractional exponents notes 2
muhammad salman LI ppt
HIPERVINCULOS
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...
OpenStack in Production
Heat optimization
Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...
The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016
The IDI Digital Transformation - OpenStack Day Israel 2016
Fluo CICD OpenStack Summit
Ad

Similar to How Openstack is Built (20)

PPTX
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
PPTX
The Key Components of Adopting CI The OpenStack Way
PDF
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The Pipeline
PPTX
Openstack Third-Party CI and the review of a few Openstack Infrastructure pro...
PDF
Pipeline as Code
PPTX
varun JENKINS.pptx
PDF
Take control of your Jenkins jobs via job DSL.
PPTX
Jenkins2 - Coding Continuous Delivery Pipelines
PDF
Pipeline 101 Lorelei Mccollum
PPTX
Automate documentation publishing with Jenkins
PPTX
Jenkins user conference 2011
PPTX
DevOps-CI_CD_JAVA_JAVA______Jenkins.pptx
PPTX
CICD with Jenkins
PDF
Evolution of OPNFV CI System: What already exists and what can be introduced
PDF
Jenkins automation
PDF
(Declarative) Jenkins Pipelines
PPTX
Pipeline as code - new feature in Jenkins 2
PDF
Jenkins Pipelines
ODP
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
PDF
OSDC 2017 | Automating Jenkins by Julien Pivotto
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
The Key Components of Adopting CI The OpenStack Way
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The Pipeline
Openstack Third-Party CI and the review of a few Openstack Infrastructure pro...
Pipeline as Code
varun JENKINS.pptx
Take control of your Jenkins jobs via job DSL.
Jenkins2 - Coding Continuous Delivery Pipelines
Pipeline 101 Lorelei Mccollum
Automate documentation publishing with Jenkins
Jenkins user conference 2011
DevOps-CI_CD_JAVA_JAVA______Jenkins.pptx
CICD with Jenkins
Evolution of OPNFV CI System: What already exists and what can be introduced
Jenkins automation
(Declarative) Jenkins Pipelines
Pipeline as code - new feature in Jenkins 2
Jenkins Pipelines
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
OSDC 2017 | Automating Jenkins by Julien Pivotto

More from Anton Weiss (20)

PDF
The New Science of Software Delivery
PPTX
Escaping the Jungle - Migrating to Cloud Native CI/CD
PDF
Envoy, Wasm and Rust - the Mighty Trio
PDF
Dumb Services in Smart Nets - istio
PDF
WTF Do We Need a Service Mesh?
PDF
Many Changes Little Fun
PDF
Optimizing the Delivery Pipeline for Flow
PDF
A Deeper Look at Cargo
PDF
Heralding change - How to Get Engineers On Board the DevOps Ship
PDF
When Your Pipelines Are a Mess
PDF
Wiring up microservices with Istio
PDF
ChatOps - the Road to a Collaborative CLI
PDF
The Road to a Hybrid, Transparent Pipeline
PDF
Jenkins and the Future of Software Delivery
PPTX
Continuous Delivery is Not a Commodity
PPTX
Grooving with Jenkins
PDF
Ninja, Choose Your Weapon!
PDF
DevOps - Transparency & Self Service
PDF
Vagrant in 15 minutes
PDF
Continuous Delivery for Mobile R&D
The New Science of Software Delivery
Escaping the Jungle - Migrating to Cloud Native CI/CD
Envoy, Wasm and Rust - the Mighty Trio
Dumb Services in Smart Nets - istio
WTF Do We Need a Service Mesh?
Many Changes Little Fun
Optimizing the Delivery Pipeline for Flow
A Deeper Look at Cargo
Heralding change - How to Get Engineers On Board the DevOps Ship
When Your Pipelines Are a Mess
Wiring up microservices with Istio
ChatOps - the Road to a Collaborative CLI
The Road to a Hybrid, Transparent Pipeline
Jenkins and the Future of Software Delivery
Continuous Delivery is Not a Commodity
Grooving with Jenkins
Ninja, Choose Your Weapon!
DevOps - Transparency & Self Service
Vagrant in 15 minutes
Continuous Delivery for Mobile R&D

Recently uploaded (20)

PPTX
history of c programming in notes for students .pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
top salesforce developer skills in 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
System and Network Administraation Chapter 3
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Introduction to Artificial Intelligence
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Design an Analysis of Algorithms I-SECS-1021-03
history of c programming in notes for students .pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Navsoft: AI-Powered Business Solutions & Custom Software Development
VVF-Customer-Presentation2025-Ver1.9.pptx
Odoo POS Development Services by CandidRoot Solutions
Softaken Excel to vCard Converter Software.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
top salesforce developer skills in 2025.pdf
ai tools demonstartion for schools and inter college
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
System and Network Administraation Chapter 3
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 41
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction to Artificial Intelligence
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Design an Analysis of Algorithms II-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Design an Analysis of Algorithms I-SECS-1021-03

How Openstack is Built

  • 1. How Openstack is Built Ant(on) Weiss - Otomato http://otomato.link 1
  • 2. How Big is OpenStack? 265,850 commits 5,744 developers 54 project teams 585 git repos 2
  • 3. OpenStack CI System 3 • Developed and managed by the OpenStack Infra team
  • 4. Ansible+Puppet - two invisible hands. ■ All configuration of CI infra nodes is managed by Puppet manifests ■ The ‘Puppetmaster’ is actually an Ansible control machine ■ Puppetmaster holds playbook + hiera data ■ Ansible playbooks trigger ‘puppet apply’ on the nodes 4 +
  • 5. Git - the mighty archivist ■ the most widely used distributed open-source VCS ■ Served by ‘cgit’ ■ Changes submitted with the help of ‘git-review’ tool 5
  • 6. Gerrit – the gatekeeper ■ Originally developed by Shawn Pearce at Google for Android development. ■ Manages git repositories ■ Provides code review and approval rules ■ Collaborates with human and non- human gatekeepers 6
  • 7. Zuul – the dispatcher ■ Written by James E. Blair ■ Defines and enforces the gating process ■ Listens to Gerrit events ■ Manages the queue and dependencies ■ Dispatches the verification process to Jenkins (through Gearman) 7
  • 8. Zuul – the beautiful dispatcher ■ Written by James E. Blair ■ Defines and enforces the gating process ■ Listens to Gerrit events ■ Manages the queue and dependencies ■ Dispatches the verification process to Jenkins (through Gearman) 8
  • 9. Gearman - the outsourcer ■ a framework to farm out work to other machines or processes 9 ■ sends jobs to Jenkins through jenkins gearman plugin (by Khai Do & James E. Blair) ■ manages the job queues
  • 10. Jenkins - the butler :) ■ Continuous Integration Server ■ Executes testing jobs, records executions results ■ Jobs performed on slaves ■ “Our jenkins servers, at peak load, runs 20,000+ jobs per day. At that load we require many jenkins slaves (900+)…” (From Jenkins Gearman plugin page) ■ Jobs created and managed by Jenkins Job Builder ■ devstack slaves provisioned by Nodepool 10
  • 11. Jenkins Job Builder ■ Configures Jenkins jobs using YAML files stored in git ■ Defaults, macros and job configs - job: name: example-docs node: node-label triggers: - zuul builders: - git-prep - docs publishers: - scp: site: 'scp-server' files: - target: 'dir/ectory' source: 'build/html/foo' keep-hierarchy: true - console-log 11
  • 12. Nodepool - the provisioner ■ Manages a pool of Devstack images to use in project testing. ■ Provisions nodes on HP and Rackspace clouds. (using novaclient) ■ Makes sure there are always available nodes for each provider type. ■ Listens to events from Jenkins ZeroMQ publisher plugin. (by C.Boylan) ■ Tears down old instances when tests are completed. 12
  • 13. DevStack Gate ■ The integration test that verifies that all projects still work together after the changes ■ Provides a full OpenStack installation on a single machine with Devstack ■ Installs Devstack and runs Tempest (the OpenStack integration test suite) 13
  • 14. Logstash ■ All jenkins job logs are indexed and stored by Logstash ■ Logs pushing also handled by Gearman jobs 14 ■ Elastic Search helps analyze the test results
  • 15. Wrap Up ■ Git ■ Gerrit ■ Zuul ■ Gearman ■ Jenkins Job Builder ■ Jenkins ■ Devstack ■ Nodepool ■ Logstash 15 Only 9 out of 32 projects/tools managed by the Openstack Infra Team
  • 16. Some References: ■ Scaling the OpenStack Test Environment - http://amo-probos.org/post/15 ■ Zuul: a Pipelining Trunk Gating System - http://amo-probos.org/post/14 ■ Multiple Jenkins Masters with Jenkins Gearman Plugin - http:// docs.openstack.org/infra/publications/gearman-plugin ■ Understanding the OpenStack CI System - www.joinfu.com/2014/01/ understanding-the-openstack-ci-system/ ■ cgit - https://git.zx2c4.com/cgit/about/ 16