The OpenStack Project Continuous Integration System. Elizabeth K.

Similar documents
Tools for Distributed, Open Source Systems Administration

Code Review for DevOps

Infrastructure-as-Code and CI Infrastructure at Open Stack A look at one of the largest CI systems and system administration

OpenStack Infrastructure tools

ETOOMANYCATS. How we produce OpenStack

#jenkinsconf. Managing jenkins with multiple components project. Jenkins User Conference Israel. Presenter Name Ohad Basan

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

ZUUL AND OTHER OPENSTACK TOOLS USAGE AT LEBONCOIN: THE ODYSSEY

Getting Started with Contributing to OpenStack An Introductory Crash Course on OpenStack Development

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

May 2018 OpenStack Manila

Introduction to OpenStack

At a high level, the current OPNFV CI pipeline can be summarized as follows:

AALOK INSTITUTE. DevOps Training

Change-sets. Basavaraj Karadakal

Using DC/OS for Continuous Delivery

How to Take the CI/CD Plunge

Introduction to OpenStack

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

Life Without DevStack: OpenStack Development With OSA. Miguel

Continuous Delivery of your infrastructure. Christophe

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

Tempest: Integrated OpenStack Testing

git-pr Release dev2+ng5b0396a

Firefox Crash Reporting.

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Git and Gerrit Workflows. Enforcing Manual & Automated Review

a handful of Git workflows for the agilist steven harman twitter: stevenharman

Pipeline as Code for your IAC. Kris

Continuous Integration / Continuous Testing

ITIL isn t evil Most people who implement it are

Trove Onboarding Session Introductory course for contributors and reviewers

contribution-guide.org Release

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

Ceilometer Documentation

Using vrealize Code Stream. 16 MAY 2017 vrealize Code Stream 2.3

Using vrealize Code Stream

OpenStack Architecture and Pattern Deployment with Heat. OpenStack Architecture and Pattern Deployment using Heat Ruediger Schulze

OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished DEVNET-1104

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

SALOME Maintenance Procedure. Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade)

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7

Seven Habits of Highly Effective Jenkins Users

Visualizing Git Workflows. A visual guide to 539 workflows

Hitchhikers Guide to OpenStack Toolchains

Real World CI with Red Hat Cloud Suite. Sim Zacks - Principal Quality Engineer Oded Ramraz - Manager QE Ops TLV

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

Automation with Meraki Provisioning API

Installation runbook for Hedvig + Cinder Driver

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

ironic-staging-drivers Documentation

Implementation of Continuous Integration for Linux Images

Stackalytics. Release 0.3.dev201.gae Mirantis Inc.

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

OpenStack in 10 minutes with DevStack

OTC Tools Development and Release process. Igor Stoppa & Eduard Bartosh & JF Ding V May 2013

Version Control Systems

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

ElasticIntel. Scalable Threat Intel Aggregation in AWS

Using vrealize Code Stream. 12 APRIL 2018 vrealize Code Stream 2.4

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Accelerate OpenStack* Together. * OpenStack is a registered trademark of the OpenStack Foundation

CloudCenter for Developers

Improved Versioning, Building, and Distribution of Lustre

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

TDF Infra Overview. from developers' perspective

DevOps Agility in the Evolving Cloud Services Landscape

Continuous integration & continuous delivery. COSC345 Software Engineering

Deploying a Private OpenStack Cloud at Scale. Matt Fischer & Clayton O Neill

Testing in the Cloud. Not just for the Birds, but Monkeys Too!

StratusLab Cloud Distribution Installation. Charles Loomis (CNRS/LAL) 3 July 2014

Getting Things GNOME! Documentation

Information Security Policy

Aspirin as a Service: Using the Cloud to Cure Security Headaches

FUJITSU Software ServerView Cloud Monitoring Manager V1.0. Overview

Mandi Walls. Technical Community #habitatsh

Splunk & Git. Managing Splunk deployments with Git and KSCONF. Copyright 2018

Trove: The OpenStack DBaaS

CSC 2700: Scientific Computing

Overview. SUSE OpenStack Cloud Monitoring

Managing Network Configurations with Git and GitLab

HOW OPENSTACK MAKES PYTHON BETTER (and vice-versa)

Splunk & Git. The joys and pitfalls of managing your Splunk deployment with Git. Copyright 2018

Pulp Python Support Documentation

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

chatterbot-weather Documentation

CS 390 Software Engineering Lecture 5 More Git

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

Eyes Everywhere: Monitoring Today's Borderless Landscape

DevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY

Git, the magical version control

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Be smart. Think open source.

UCT Application Development Lifecycle. UCT Business Applications

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

A CD Framework For Data Pipelines. Yaniv

How TubeMogul Handles over One Trillion HTTP Requests a Month

Deep Dive on AWS CodeStar

Transcription:

The OpenStack Project Continuous Integration System Elizabeth K. Joseph @pleia2

Elizabeth K. Joseph Core/root member of the OpenStack Infrastructure Team Author of Common OpenStack Deployments (along with Matt Fischer)

Projects Over 1500 individual git repositories All need capacity for CI Many need integration testing

Other efforts Documentation Translations (i18n) Infrastructure Quality Assurance Release Management Oslo

Contributors Unaffiliated individuals Commercial entities Non-profit organizations Research facilities National and local governments

Specific Challenges Testing effect of merging change Using cloud builders Large numbers of similar projects Disparate hardware configurations

Consistent Tooling Minimize meta-development Process divergence == wasted developer time Lowers on-boarding time Consolidate tool development Minimize project-specific weird build crud

Developer Infrastructure Code review and git Test/build automation Job logs, artifacts Releases (PyPI, tarballs, etc) Collaboration and communication tools Feature, bug and task tracking

Project Infrastructure in Git All system administration performed via code review Anyone on the internet can look at our changes Anyone can sign up for a code review account Anyone can write and propose changes https://git.openstack.org/cgit/openstack-infra /system-config/tree/

Development Environment Python using pep8, Ubuntu, Fedora Tests run on all submitted changes Code merges are gated on tests

Project Gating Ensures code quality Protects developers from each other Protects tree so bad code doesn t land The process is the same for everyone

Everything is automated http://status.openstack.org/zuul/

CI Workflow Github mirror git.openstack.org mirror pipy mirrors & other semi-privileged servers Git repository Gerrit code review Local changes submitted via git-review Zuul, Gearman, Zuul Launcher ubuntu, fedora, centos & devstack slaves

Process Flow

Gerrit Code Review Stand-alone patch review system Integration points: hooks, JSON queries, event-stream Extensible review categories, default: Verified, Code-Review REST API

Gerrit

Gerrit diff view

Bug Integration - Launchpad

Reviews at a glance

Git Review External Git subcommand Developers can easily incorporate code review into git workflow Zero-configuration Can be used for any project, being adopted by other projects

Gerrit git prep, Zuul Cloner Test the result of the change, not the change openstack-infra/project-config:jenkins/scripts/gerrit-git-prep.sh Gerrit git prep: grabs target branch cleans tree merges change to be tested Zuul Cloner: grabs target branch (from local cache) cleans tree merges change to be tested cross project dependencies with Depends-On header

Interrelated Integration Testing devstack-gate & Nodepool boot fresh servers run DevStack run integration tests OpenStack Puppet Integration boot fresh servers use puppet to provision OpenStack deploy tempest to run integration tests Gate proposed change against current state of other projects

Zuul A general purpose trunk gating system Interfaces with Gerrit and Nodepool (via Zuul Launcher) Flexible configuration allows for many kinds of project automation Allows parallel testing of serialized changes

Logs Massive amount of logs generated Terabytes of compressed logs per development cycle Filtered and normalized by LogStash Recent logs indexed by ElasticSearch Searchable through Kibana and ElasticSearch API Driving automatic failure classification

Elastic test nodes with Nodepool Automate management (build, delete) of test nodes Handles multiple OpenStack clouds Hit 2k test nodes in the Newton cycle

Questions? System Documentation http://docs.openstack.org/infra/system-config/ Email me lyz@princessleia.com Common OpenStack Deployments book, use code OPENSOURCE35 to save 35% on checkout at informit.com