SlideShare a Scribd company logo
1 of 21
Download to read offline
Continuous Integration
KuberDock, 10 Jun 2016
Agenda
- Why so continuous?
- Some huge examples
- OpenStack
- Spotify
- World of Tanks
- Ancestry
- KuberDock CI today
- Automated Dev/QA env
- Integration Testing API & Tests
- Jobs, Triggers
- KuberDock CI in future
- Parallelization -> scaling
- CI as a Service
- Quality Authority, sticking into the business processes
- Continuous Delivery
Why so continuous?
Continuous integration (CI) is the practice, in software engineering, of merging
all developer working copies to a shared mainline several times a day © Wikipedia
Benefits:
- Detect failure as earlier as possible
- Repeatable, Stable & Incrementally improving
- Catchall CI == Low mistake fear & Lower project entry barrier
- Constant flow of changes to benefit users, no break & fix turnarounds
- Fast regression == Fast release cycle
Cons:
- Expensive to Implement & Maintain
Yes, catchall CI is expensive, but
Source: Bug fix cost over SW lifecycle
OpenStack CI
OpenStack - Open source cloud platform
~ 20M Lines of code
~ 800 subprojects (different repos)
~ 2,5K Active contributors
~ 80K Gerrit reviews per cycle (6 months)
OpenStack CI:
Source: Zuul
OpenStack CI: the workflow
OpenStack CI, points of interest
Their CI is fully declarative, lives under git
- project:
name: cinder
github-org: openstack
node: bare-precise
tarball-site: tarballs.openstack.org
doc-publisher-site: docs.openstack.org
jobs:
- python-jobs
- python-grizzly-bitrot-jobs
- python-havana-bitrot-jobs
- openstack-publish-jobs
- gate-{name}-pylint
- translation-jobs
- 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
OpenStack CI, points of interest
Elastic Recheck
With elastic-recheck now in place, contributors can:
1. Identify a pattern in the failure logs and visualize it in Kibana at http://logstash.openstack.org/
to search through a few weeks of logs to determine frequency.
2. Create a bug in our bug tracker for the error, add a comment to the bug with the exact query
identified via Kibana, and a link to the logstash url for that query search.
3. Submit a simple YAML-based change to the elastic-recheck repository’s queries/ directory,
which contains the list of bugs to track:
https://git.openstack.org/cgit/openstack-infra/elastic-recheck/tree/queries.
4. Re-run tests only on the affected reviews / projects
OpenStack CI, points of interest
Hardware vendors CI plugins
TL;DR if you are hardware vendor writing your driver for an OpenStack component, you build your own CI
server with that particular hardware, and link it to a common OpenStack gate.
Gerrit has an event stream which can be subscribed to. Using this event stream, it is possible to test commits against
testing systems beyond those supplied by OpenStack’s Jenkins setup. It is also possible for these systems to feed
information back into Gerrit and they can also leave non-gating votes on Gerrit review requests.
There are several examples of systems that read the Gerrit event stream and run their own tests on the commits on this
page. For each patch set the third party system tests, the system adds a comment in Gerrit with a summary of the test
result and links to the test artifacts.
Let’s talk about
~ 100M active users
~ 12K servers
~ Once a month desktop client releases - seamless
~ Clients on all mainstream mobiles and desktops & web.
~ All under CI/CD based on own container orchestration: Helios
How Spotify does Continuous Delivery with Docker and Helios (video)
Managing Machines at Spotify (tech blog)
Let’s talk about
Let’s talk about
source
KuberDock CI today
- Automated Dev/QA environment. About 20 minutes build time.
TASK [debug] *******************************************************************
ok: [kd_master] => {
"msg": "http://XXX.XXX.XXX.XXX:5000 [user:XXX, password:XXX]"
}
TASK [debug] *******************************************************************
skipping: [kd_master]
PLAY RECAP *********************************************************************
kd_master : ok=69 changed=32 unreachable=0 failed=0
kd_node1 : ok=34 changed=9 unreachable=0 failed=0
- Based on Vagrant and Ansible
- Hosted in CL OpenNebula OR locally (VirtualBox)
- Engineer can multiple environments at time
- Customizable - skip_by_tag, hooks, dotfiles, etc.
- Developer friendly - code runs from source, multiple hacks are built-in.
KuberDock CI today
Integration tests are built on top of automated dev/qa env
KuberDock CI today
Easy to use Integration Testing API
KuberDock CI today
Integration tests triggers:
- “integration” comment posted to review.
- “dev-cluster” comment posted to review.
- Night builds of both variants
Unit tests triggers:
- Run for each review
- Run before merge (Workflow +1): 1-threaded rebase -> test -> merge
KuberDock CI in nearest future
KuberDock Upgrades testing:
- Allow to run the same test for clean cluster & upgraded cluster.
- @clean_cluster()
- @upgraded_cluster(from=’release’, to=’latest’)
- Dedicated test to check if cluster workload survives after the upgrade
- self.cluster.start(version=’release’)
- pod = self.cluster.create_pod(healthcheck=True)
- self.cluster.upgrade(version=’latest’)
- pod.healthcheck()
KuberDock CI in nearest future
Parallelization and test pipelines:
- Tests are grouped in test pipelines
- Pipelines are run in parallel to each other (they are differently-configured clusters)
- Pipeline itself is divided to threads (one or more - different clusters, similar config)
- Parallelized declaratively, constant arrangement, via pipeline name and thread
number:
- @pipeline(“clean”, thread=1)
- @pipeline(“upgrade”, thread=1)
- @pipeline(“non_floating_ips_clean”, thread=1)
- @pipeline(“non_floating_ips_upgrade”, thread=1)
- New tests are creating new pipelines or go to the new threads in existing ones
- Integration test suite grows horizontally (more servers involved).
- Full integration run time is kept around 40 minutes
KuberDock CI in future future
- CI as a Service : everything is done through CI
- Automated regression
- Clusters for QAs for manual regression
- Stable master cluster every hour
- Release Candidate clusters
- Release process tied to CI
- Failure conditions (HA) testing (dropping nodes by one etc.)
- Backup & restore testing (deploy -> check -> backup -> kill -> restore -> check)
- Deployment configurations testing
- Deployment performance testing
- Cluster performance testing
Q & A
Links
● Understanding OpenStack CI
● OpenStack Gerrit-based workflow
● Elastic Recheck
● A CI/CD Alternative to Push and Pray for OpenStack
● How Spotify does Continuous Delivery with Docker and Helios
● Ancestry
● KuberDock automated DEV/QA env
● KuberDock integration tests

More Related Content

What's hot

Cutting the Kubernetes Monorepo in pieces – never learnt more about git
Cutting the Kubernetes Monorepo in pieces – never learnt more about gitCutting the Kubernetes Monorepo in pieces – never learnt more about git
Cutting the Kubernetes Monorepo in pieces – never learnt more about gitStefan Schimanski
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Steffen Gebert
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructurerhirschfeld
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discoveryDocker, Inc.
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoToshiaki Maki
 
Building kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech TalkBuilding kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech TalkRed Hat Developers
 
How to integrate Kubernetes in OpenStack: You need to know these project
How to integrate Kubernetes in OpenStack: You need to know these projectHow to integrate Kubernetes in OpenStack: You need to know these project
How to integrate Kubernetes in OpenStack: You need to know these projectinwin stack
 
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level InterfacesKubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level InterfacesKubeAcademy
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins UsersJules Pierre-Louis
 
Introduction to tempest
Introduction to tempest Introduction to tempest
Introduction to tempest openstackindia
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumChris Adkin
 
Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例kao kuo-tung
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Api versioning w_docker_and_nginx
Api versioning w_docker_and_nginxApi versioning w_docker_and_nginx
Api versioning w_docker_and_nginxLee Wilkins
 
Jenkins, pipeline and docker
Jenkins, pipeline and docker Jenkins, pipeline and docker
Jenkins, pipeline and docker AgileDenver
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes APIStefan Schimanski
 
Building A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and EtcdBuilding A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and EtcdRoss Kukulinski
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins UsersJules Pierre-Louis
 
JDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul BakkerJDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul BakkerPROIDEA
 

What's hot (20)

Cutting the Kubernetes Monorepo in pieces – never learnt more about git
Cutting the Kubernetes Monorepo in pieces – never learnt more about gitCutting the Kubernetes Monorepo in pieces – never learnt more about git
Cutting the Kubernetes Monorepo in pieces – never learnt more about git
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
 
Building kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech TalkBuilding kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech Talk
 
How to integrate Kubernetes in OpenStack: You need to know these project
How to integrate Kubernetes in OpenStack: You need to know these projectHow to integrate Kubernetes in OpenStack: You need to know these project
How to integrate Kubernetes in OpenStack: You need to know these project
 
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level InterfacesKubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
Introduction to tempest
Introduction to tempest Introduction to tempest
Introduction to tempest
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgium
 
Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Api versioning w_docker_and_nginx
Api versioning w_docker_and_nginxApi versioning w_docker_and_nginx
Api versioning w_docker_and_nginx
 
Jenkins, pipeline and docker
Jenkins, pipeline and docker Jenkins, pipeline and docker
Jenkins, pipeline and docker
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
 
Building A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and EtcdBuilding A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and Etcd
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
JDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul BakkerJDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul Bakker
 

Viewers also liked

Openstack 2016 Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...
Openstack 2016  Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...Openstack 2016  Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...
Openstack 2016 Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...Yathiraj Udupi, Ph.D.
 
DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012Matt Ray
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges openstackindia
 
OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesMatt Ray
 
Bareon functional testing ci
Bareon functional testing   ciBareon functional testing   ci
Bareon functional testing ciMax Lobur
 
The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayiWeb (group INAP)
 
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, ObsolescenceUnix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, ObsolescenceAndrew Pantyukhin
 
4.4 fractional exponents notes 2
4.4 fractional exponents notes 24.4 fractional exponents notes 2
4.4 fractional exponents notes 2Edith Steeves
 
Nadya ip 9ci
Nadya ip 9ciNadya ip 9ci
Nadya ip 9cinadyaipi
 
Tarea 3: Competencias informáticas
Tarea 3: Competencias informáticasTarea 3: Competencias informáticas
Tarea 3: Competencias informáticasMaria Muñoz Ferreiro
 
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...hemanthbbc
 
Same looks, different compo...
Same looks, different compo...Same looks, different compo...
Same looks, different compo...Ruaidhri Gleeson
 
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...Cloud Native Day Tel Aviv
 
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015Cloud Native Day Tel Aviv
 
Foire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de PresseFoire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de PresseTwisto
 
How Openstack is Built
How Openstack is BuiltHow Openstack is Built
How Openstack is BuiltAnton Weiss
 
TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]Ruaidhri Gleeson
 

Viewers also liked (20)

Openstack 2016 Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...
Openstack 2016  Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...Openstack 2016  Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...
Openstack 2016 Barcelona - Adiuvo Bot – Smart DevOps using bots for effectiv...
 
DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best Practices
 
Bareon functional testing ci
Bareon functional testing   ciBareon functional testing   ci
Bareon functional testing ci
 
The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
 
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, ObsolescenceUnix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
 
4.4 fractional exponents notes 2
4.4 fractional exponents notes 24.4 fractional exponents notes 2
4.4 fractional exponents notes 2
 
Nadya ip 9ci
Nadya ip 9ciNadya ip 9ci
Nadya ip 9ci
 
Tarea 3: Competencias informáticas
Tarea 3: Competencias informáticasTarea 3: Competencias informáticas
Tarea 3: Competencias informáticas
 
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
 
Same looks, different compo...
Same looks, different compo...Same looks, different compo...
Same looks, different compo...
 
HIPERVINCULOS
HIPERVINCULOSHIPERVINCULOS
HIPERVINCULOS
 
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
 
Application Management in Openstack
Application Management in Openstack Application Management in Openstack
Application Management in Openstack
 
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
 
Foire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de PresseFoire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de Presse
 
muhammad salman LI ppt
muhammad salman LI pptmuhammad salman LI ppt
muhammad salman LI ppt
 
How Openstack is Built
How Openstack is BuiltHow Openstack is Built
How Openstack is Built
 
TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]
 

Similar to Why so continuous

Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesModern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesMikalai Alimenkou
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Harshal Shah
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to KubernetesPaul Czarkowski
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
DCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface UpdateDCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface UpdateDocker, Inc.
 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeAmazon Web Services
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019Kumton Suttiraksiri
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01Scott Miao
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabAyush Sharma
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdSubhas Dandapani
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User ExperienceAccumulo Summit
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDVMware Tanzu
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Codemotion
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016Amazon Web Services
 

Similar to Why so continuous (20)

Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesModern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with Kubernetes
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
DCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface UpdateDCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface Update
 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the Time
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with Gitlab
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
 
Apache Cloudstack QA Strategy
Apache Cloudstack QA StrategyApache Cloudstack QA Strategy
Apache Cloudstack QA Strategy
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Kash Kubernetified
Kash KubernetifiedKash Kubernetified
Kash Kubernetified
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User Experience
 
MidSem
MidSemMidSem
MidSem
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Why so continuous

  • 2. Agenda - Why so continuous? - Some huge examples - OpenStack - Spotify - World of Tanks - Ancestry - KuberDock CI today - Automated Dev/QA env - Integration Testing API & Tests - Jobs, Triggers - KuberDock CI in future - Parallelization -> scaling - CI as a Service - Quality Authority, sticking into the business processes - Continuous Delivery
  • 3. Why so continuous? Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day © Wikipedia Benefits: - Detect failure as earlier as possible - Repeatable, Stable & Incrementally improving - Catchall CI == Low mistake fear & Lower project entry barrier - Constant flow of changes to benefit users, no break & fix turnarounds - Fast regression == Fast release cycle Cons: - Expensive to Implement & Maintain
  • 4. Yes, catchall CI is expensive, but Source: Bug fix cost over SW lifecycle
  • 5. OpenStack CI OpenStack - Open source cloud platform ~ 20M Lines of code ~ 800 subprojects (different repos) ~ 2,5K Active contributors ~ 80K Gerrit reviews per cycle (6 months) OpenStack CI: Source: Zuul
  • 6. OpenStack CI: the workflow
  • 7. OpenStack CI, points of interest Their CI is fully declarative, lives under git - project: name: cinder github-org: openstack node: bare-precise tarball-site: tarballs.openstack.org doc-publisher-site: docs.openstack.org jobs: - python-jobs - python-grizzly-bitrot-jobs - python-havana-bitrot-jobs - openstack-publish-jobs - gate-{name}-pylint - translation-jobs - 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
  • 8. OpenStack CI, points of interest Elastic Recheck With elastic-recheck now in place, contributors can: 1. Identify a pattern in the failure logs and visualize it in Kibana at http://logstash.openstack.org/ to search through a few weeks of logs to determine frequency. 2. Create a bug in our bug tracker for the error, add a comment to the bug with the exact query identified via Kibana, and a link to the logstash url for that query search. 3. Submit a simple YAML-based change to the elastic-recheck repository’s queries/ directory, which contains the list of bugs to track: https://git.openstack.org/cgit/openstack-infra/elastic-recheck/tree/queries. 4. Re-run tests only on the affected reviews / projects
  • 9. OpenStack CI, points of interest Hardware vendors CI plugins TL;DR if you are hardware vendor writing your driver for an OpenStack component, you build your own CI server with that particular hardware, and link it to a common OpenStack gate. Gerrit has an event stream which can be subscribed to. Using this event stream, it is possible to test commits against testing systems beyond those supplied by OpenStack’s Jenkins setup. It is also possible for these systems to feed information back into Gerrit and they can also leave non-gating votes on Gerrit review requests. There are several examples of systems that read the Gerrit event stream and run their own tests on the commits on this page. For each patch set the third party system tests, the system adds a comment in Gerrit with a summary of the test result and links to the test artifacts.
  • 10. Let’s talk about ~ 100M active users ~ 12K servers ~ Once a month desktop client releases - seamless ~ Clients on all mainstream mobiles and desktops & web. ~ All under CI/CD based on own container orchestration: Helios How Spotify does Continuous Delivery with Docker and Helios (video) Managing Machines at Spotify (tech blog)
  • 13. KuberDock CI today - Automated Dev/QA environment. About 20 minutes build time. TASK [debug] ******************************************************************* ok: [kd_master] => { "msg": "http://XXX.XXX.XXX.XXX:5000 [user:XXX, password:XXX]" } TASK [debug] ******************************************************************* skipping: [kd_master] PLAY RECAP ********************************************************************* kd_master : ok=69 changed=32 unreachable=0 failed=0 kd_node1 : ok=34 changed=9 unreachable=0 failed=0 - Based on Vagrant and Ansible - Hosted in CL OpenNebula OR locally (VirtualBox) - Engineer can multiple environments at time - Customizable - skip_by_tag, hooks, dotfiles, etc. - Developer friendly - code runs from source, multiple hacks are built-in.
  • 14. KuberDock CI today Integration tests are built on top of automated dev/qa env
  • 15. KuberDock CI today Easy to use Integration Testing API
  • 16. KuberDock CI today Integration tests triggers: - “integration” comment posted to review. - “dev-cluster” comment posted to review. - Night builds of both variants Unit tests triggers: - Run for each review - Run before merge (Workflow +1): 1-threaded rebase -> test -> merge
  • 17. KuberDock CI in nearest future KuberDock Upgrades testing: - Allow to run the same test for clean cluster & upgraded cluster. - @clean_cluster() - @upgraded_cluster(from=’release’, to=’latest’) - Dedicated test to check if cluster workload survives after the upgrade - self.cluster.start(version=’release’) - pod = self.cluster.create_pod(healthcheck=True) - self.cluster.upgrade(version=’latest’) - pod.healthcheck()
  • 18. KuberDock CI in nearest future Parallelization and test pipelines: - Tests are grouped in test pipelines - Pipelines are run in parallel to each other (they are differently-configured clusters) - Pipeline itself is divided to threads (one or more - different clusters, similar config) - Parallelized declaratively, constant arrangement, via pipeline name and thread number: - @pipeline(“clean”, thread=1) - @pipeline(“upgrade”, thread=1) - @pipeline(“non_floating_ips_clean”, thread=1) - @pipeline(“non_floating_ips_upgrade”, thread=1) - New tests are creating new pipelines or go to the new threads in existing ones - Integration test suite grows horizontally (more servers involved). - Full integration run time is kept around 40 minutes
  • 19. KuberDock CI in future future - CI as a Service : everything is done through CI - Automated regression - Clusters for QAs for manual regression - Stable master cluster every hour - Release Candidate clusters - Release process tied to CI - Failure conditions (HA) testing (dropping nodes by one etc.) - Backup & restore testing (deploy -> check -> backup -> kill -> restore -> check) - Deployment configurations testing - Deployment performance testing - Cluster performance testing
  • 20. Q & A
  • 21. Links ● Understanding OpenStack CI ● OpenStack Gerrit-based workflow ● Elastic Recheck ● A CI/CD Alternative to Push and Pray for OpenStack ● How Spotify does Continuous Delivery with Docker and Helios ● Ancestry ● KuberDock automated DEV/QA env ● KuberDock integration tests