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

Similar documents
Code Review for DevOps

Tools for Distributed, Open Source Systems Administration

The OpenStack Project Continuous Integration System. Elizabeth K.

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

ETOOMANYCATS. How we produce OpenStack

White Paper The Storage System Best Suited for OpenStack FUJITSU Storage ETERNUS DX S4/S3 series and ETERNUS AF series

ZUUL AND OTHER OPENSTACK TOOLS USAGE AT LEBONCOIN: THE ODYSSEY

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

OpenStack Infrastructure tools

Jumpstart your Production OpenStack Deployment with

Intel, OpenStack, & Trust in the Open Cloud. Intel Introduction

Spawning Virtual HPCs Using OpenStack

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

OSDC.de 2013 Introduction to OpenStack. Justin Clift Open Source & Standards RH 17 April 2013

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

OpenStack Admin User Guide

Introduction To OpenStack. Haim Ateya Group Manager, EMC

OpenStack in 10 minutes with DevStack

COMP4442. Service and Cloud Computing. Lecture 04: OpenStack. Prof. George Baciu PQ838.

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

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

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

An Introduction to Red Hat Enterprise Linux OpenStack Platform. Rhys Oxenham Field Product Manager, Red Hat

OpenStack Mitaka Release Overview

Dynamic Resource Allocation and Management Using OpenStack

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

IN2P3-CC cloud computing (IAAS) status FJPPL Feb 9-11th 2016

What s New in Newton. Emily Hugenbruch, Advisory Software

Build Cloud like Rackspace with OpenStack Ansible

Life Without DevStack: OpenStack Development With OSA. Miguel

Analyzing Performance of OpenStack with Grafana Dashboards

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

Developing a Thoughtful Patent Strategy to Ensure OpenStack's Future

GETTING STARTED WITH OPENSTACK. Kenneth Hui, Rackspace Dan Radez, Red Hat April 27, 2016

File system, 199 file trove-guestagent.conf, 40 flavor-create command, 108 flavor-related APIs list, 280 show details, 281 Flavors, 107

May 2018 OpenStack Manila

Introduction to OpenStack

Deploy TOSCA Workloads in OpenStack via Stand-Alone TOSCAParser, Heat-Translator and Murano

OpenStack Command-Line Interface Reference

Tempest: Integrated OpenStack Testing

Human Centric. Innovation. OpenStack = Linux of the Cloud? Ingo Gering, Fujitsu Dirk Müller, SUSE

OPENSTACK PRIVATE CLOUD WITH GITHUB

OpenStack Ceilometer. Tong Li (IBM) Brad Topol (IBM)

Part2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

OpenStack Community Activity Report July-September, 2015 Report sponsored by the OpenStack Foundation

Highly Available OpenStack Deployments with NetApp & Red Hat's OpenStack platform June 26, 2015

Stackalytics. Release 0.3.dev201.gae Mirantis Inc.

Introduction to OpenStack Trove

Five years of OpenStack at CERN

Overview. SUSE OpenStack Cloud Monitoring

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

What s New in Gerrit 2.14 Gerrit User Summit London 2017

The Road to Rolling Upgrade of Intel Private Cloud

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

Anand Bhadouria Chief Cloud Technologist. December 10, 2014

Cloud Essentials for Architects using OpenStack

DevOps Course Content

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

openqa Helping SUSE Linux Enterprise with Automated Testing Richard Brown openqa Technical Lead

"Charting the Course... H8Q14S HPE Helion OpenStack. Course Summary

OpenStack Manila An Overview of Manila Liberty & Mitaka

Rolling upgrade Performance between OpenStack Deployed in VMs and Containers

OpenStack Cloud Storage. PRESENTATION TITLE GOES HERE Sam Fineberg HP Storage

Getting Started with OpenStack

OpenStack Havana All-in-One lab on VMware Workstation

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

Red Hat OpenStack Platform 10 Product Guide

Friday, November 8, 13

Trove: The OpenStack DBaaS

ci-management Release 1.0.0

Build your own Cloud on Christof Westhues

NET1821BU THE FUTURE OF NETWORKING AND SECURITY WITH NSX-T Bruce Davie CTO, APJ 2

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

May Octavia. Project Update, OpenStack Summit Vancouver

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

1. What is Cloud Computing (CC)? What are the Pros and Cons of CC? Technologies of CC 27

User Guide for XenServer Fuel Plugin

Actual Agility with SDN: Weaving SDN into Data Center Automation May 6, John Burke Principal Research Analyst & CIO

Continuous Delivery of your infrastructure. Christophe

TM DevOps Use Case TechMinfy All Rights Reserved

OSF Strategy & Vancouver Summit Update

AALOK INSTITUTE. DevOps Training

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

VMware + OpenStack. Dan Wendlandt Director of Product Management VMware VMware Inc. All rights reserved.

HPE HELION CLOUDSYSTEM 9.0. Copyright 2015 Hewlett Packard Enterprise Development LP

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

OCP Ready. and OCP Checkbox Overview

COMMUNITY-GENERATED ROADMAP

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

Software Development I

OpenStack Summit Half-Day Track

Continuous Integration using Docker & Jenkins

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

OpenStack Lab on VMware Workstation Setting up the All-In-One VM

Road to Private Cloud mit OpenStack Projekterfahrungen

IBM Cloud Orchestrator Version User's Guide IBM

POWERED BY OPENSTACK. Powered by OpenStack. Globo.Tech GloboTech Communications

Fuel VMware DVS plugin testing documentation

Building and Deploying a Saas platform On Prem

Transcription:

Infrastructure-as-Code and CI Infrastructure at Open Stack A look at one of the largest CI systems and system administration Andreas Jaeger Product Manager SUSE aj@suse.com

OpenStack Open source software for building private and public clouds

Project History Provide components for Infrastructure-as-a-Service Started by Rackspace and NASA in July 2010 Today: > 200 companies involved in ecosystem Releases every 6 months: So far: Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty, Mitaka, Newton Next ones: Ocata, Pike, Queens

OpenStack Newton > 5,900,000 > 196,000 > 40,000 2680 183 Lines of code Reviews Commits Contributors Organizations

Contributors Source: http://stackalytics.com/?metric=marks&release=newton Unaffiliated individuals Commercial entities Nonprofit organizations National and local governments Number, quality, and area of contributions can change daily

The most insane CI infrastructure I've ever been part of Alex Gaynor on IRC #openstack-infra 6

OpenStack Projects include: Servers: Compute (nova) Object Storage (swift) Image Service (glance) Identity (keystone) Dashboard (horizon) Networking (neutron) Block Storage (cinder) Telemetry (ceilometer) Orchestration (heat) Database Service (trove)... python-novaclient python-swiftclient python-glanceclient python-keystoneclient python-neutronclient python-cinderclient python-heatclient python-ceilometerclient python-openstackclient Python-troveclient Client libraries:

Programs/Horizontal Efforts Documentation Infrastructure Oslo Common libraries Release Management Internationalization/Transl ation Vulnerabilty Management Quality Assurance Integration Testing Upgrade Testing

Release Management Time Based Releases Six Month Cadence Design summits each cycle Continuously Open Trunk Develop directly on master Intra-Cycle Milestone Releases Post-Release Stable Branches

CI Challenges Lots of individual projects (> 1500 git repos) Projects must work together Changes should never break the master Code should be syntactically clean Completely automated testing

Consistent CI infrastructure All official OpenStack projects Unofficial projects Documentation Systems Administration incl. CI

Git Workflow

Peer Review Anybody can review and leave comments and +1/-1 Core reviewers can leave also +2/-2 Approval by core reviewer after at least two +2s Automatic review by tools Testing on supported scenarios: Different hypervisors Different storage backends Different databases Different OSes

Gating? To ensure code quality To protect developer they always start from working code To protect tree from bad code Same process for everybody: Transparent Automated Testing of patch against current state of all other projects

Gating: Sequential Merge Assume three changes A, B, C for testing Zuul will test: Test A: Merge A; test Test B: Merge A, B; test Test C: Merge A, B, C; test If B fails: Retest C: Merge A, C; test Depends-On across repositories After merge: merge-check of open reviews

Jobs Jobs are started on new fresh VM Run in clouds by Rackspace, OSIC, OVH, Bluebox, Internap, and own Infracloud Currently over 1500 VMs available

Launchpad and Storyboard Git Gerrit Zuul Gearman Nodepool CI Infrastructure

CI Workflow

CI Workflow (Since 17 th June) Zuul-Launcher

Jobs

Statistics

System Administration 22

Services run by Infra Team CI systems Cacti Elasticsearch, Logstash and Kibana IRC Bots Etherpad Git Paste Planet Puppetboard Mailing Lists Storyboard Various smaller web services Wiki

We consider every command typed by a rooter to be a bug. We think this because: we think system administration tasks should be performed by robots we think inputs to the robots should go through code review https://review.openstack.org/#/c/310948/3/specs/finglonger.rst

Infrastructure-as-code Collaboration Peer review Automate everything Paradigms

Everything Public Services available without restrictions Anybody can review Anybody can contribute Discussion on IRC with public archives

Peer review Multiple eyes on changes prior to merging Good infrastructure for developing new solutions (particularly for a distributed team) No special process to go through for commit access Trains us to be collaborative by default

Checks for CI flake8 (pep 8 and pyflakes) bashate puppet parser validate puppet-lint beaker-rspec XML Alphabetized project files Parsing of files

Automated deployment Change gets checked in...either puppet master gets updated and applies change...or vcsrepo module in puppet pulls in latest version of project

JJB Tool for configuring Jenkins jobs using YAML files Using templated jobs, to apply same jobs to tons of different projects: - job-template name: 'gate-{name}-docs' builders: - shell: 'git checkout {branch_name}' Grouping of jobs: - job-group: name: '{name}-tests' jobs: - '{name}-unit-tests' - '{name}-perf-tests'

Nodepool Deploy and manage a pool of images on the cloud Works with any OpenStack provider Once per day a new image is generated with cached content Spins instances based on desired image on demand Can use disk-image-builder to build images Communicates with Zuul using gearman-servers for getting realtime demand

System administration Using puppet and ansible Everything in git For debugging and exceptional tasks: Infra-root team has ssh access everywhere, uses ansible for routine tasks ssh access is granted for individuals for specific service

Configuration Management All servers installed using base image and puppet. Setting up a new server: Set up new git repository Set up server locally, get it fully puppetized All changes to git repository use gerrit and review Set up dev server in cloud using puppet only Set up production server using puppet only

Major Manual Task Major updates are done collaboratively. Examples: Gerrit update, OS update of server Tested where possible on dev system All instructions prepared on etherpad, reviewed by team

Limitations Sometimes you just need to log into a server More difficult for complicated migrations, upgrades Passwords need to be privately managed (hiera)

Reference 36

More Information OpenStack in general: http://www.openstack.org OpenStack infrastructure: http://ci.openstack.org/ OpenStack documentation: http://docs.openstack.org

OpenStack and (open)suse opensuse wiki: https://en.opensuse.org/portal:openstack Cloud packages: https://build.opensuse.org/project/show?project=c loud%3aopenstack Installation Tutorial for opensuse and SLES at http://docs.openstack.org Newton version at http://docs.openstack.org/newton/install-guide-obs/ SUSE OpenStack Cloud product: https://www.suse.com/products/suse-openstack-cloud

Credits Some content copied from http://docs.openstack.org/infra/publications