SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Deep dive into the Microsoft
OpenStack CI infrastructure
Alessandro Pilotti
Cloudbase Solutions
Hyper-V MVP
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Huge thanks to our sponsors & partners!
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• OpenStack - what’s this?
• Hyper-V integration
• OpenStack continuous integration
• The Hyper-V CI infrastructure
• Undercloud and Overclouds
Agenda
Premium community conference on Microsoft technologies itcampro@ itcamp14#
An open source IaaS project
–Apache 2 license
Managed by the OpenStack Foundation
–More than 150 companies joined it including:
–AMD, Intel, Canonical, SUSE Linux, Red Hat,
Cisco, Dell, HP, IBM, NEC, Vmware
Portable
–Mostly used on Linux
Written in Python
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Essex
– Apr 2012
– Hyper-V removed
• Folsom
– October 2012
– Cloudbase Solutions involvement - Hyper-V re-included 
• Grizzly
– Apr 2013
• Havana
– October 2013
• Icehouse
– Apr 2014
Releases
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Distributed Components
– Can be deployed on a single server or multiple servers
• Public RESTful API
– Bindings available for various languages (including .Net)
• Queues (AMQP) for private APIs
– Great scalability
• Relational DBs for storing the configuration
– MySQL, PostgreSQL, SQLite (and SQL server)
• UI
– CLI tools
– Web dashboard
OpenStack Architecture
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Compute (Nova)
Object Storage (Swift)
Block Storage (Cinder)
Image Service (Glance)
Networking (Quantum / Neutron)
Dashboard (Horizon)
Identity (Keystone)
Metering (Ceilometer)
Orchestration (Heat)
Components
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Architecture 1
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Architecture 2
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• AMQP
–RabbitMQ
–Apache Qpid
• API
–RESTful services
• Database
–Any Python SQLAlchemy provider
–Mostly MySQL
–SQL Server required various bug fixes
Component interaction
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• FREE edition
–Full Hypervisor
–Minimum OS support
• Minimum impact on security updates, etc
• Windows Server 2012 R2
–Just enable the related role
• Windows 8.1
–For workstation / testing / development usage
Hyper-V Server availability
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Nova Compute driver
• Neutron plugin
• Cinder Volume driver
• Windows Cloud-Init
• Ceilometer Agent
• Heat templates
Hyper-V / Windows Openstack components
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Python Application installed as an
application/service on the Hyper-V node.
• OpenStack compute utilizes key features
baked into the Hyper-V Virtualization
Platform
• Does not require windows clustering
services
• Does not require shared storage
Hyper-V Nova Compute
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Hyper-V plugin is part of Quantum since Jan
2013
– Project renamed in Neutron since Havana
• Supported network types:
– VLAN
– Flat
– Local
• Plugin / agent model
– Plugin runs in quantum-server (controller)
– Agent runs on each Hyper-V compute node
Neutron
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Typical Neutron setup
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Quantum plugin / agent AMQP RPC protocol is
compatible with OpenVSwitch
• You can use the OVS plugin with Hyper-V agents (or
vice versa)
– Limited to compatible L2 protocols: Flat / VLAN
• You can use the L3 and DHCP agents with the Hyper-V
plugin
– Using the OVS L2 agent on the networking nodes
• Supports ML2 plugin!
Neutron OVS interop
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• We ported OVS to Hyper-V
Open vSwitch Windows porting
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• De facto standard for SDN
• Great interoperability
– Hyper-V / KVM / etc
• OpenFlow
• Tunnelling
–VXLAN
–GRE
• Neutron OVS plugin
–No need for a different one
Why OpenVSwitch?
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Great code review platform
–Gerrit
• Strong emphasis on unit tests
–Commits do not pass w/o tests
–Python is a dynamic language
• Syntactical and semantic validation needed
• Great continuous integration effort
–Lots of moving parts
How does OpenStack handle such complexity?
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Originally developed by Google for Android
• Stand-alone patch review system
• Manages:
–Git Repositories
–Code Review
–Event Stream
–Privileges (propose / merge code, manage git
repositories)
Gerrit
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Gerrit workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Gerrit UI
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Except special cases every contribution
must have either:
–Blueprint
• for new features
• to be approved by core team
–Bug report
• for, ahem, bugs
• http://launchpad.net
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Clone repository, e.g.:
– git clone https://github.com/openstack/nova.git
• Create a short lived branch:
– git checkout -b bug/12345678
– Do changes
– git commit
• Commit message must contain referefence to bug / bp
– git review
• Install with pip install git-review
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Gerrit triggers:
– Pep8 / Flake8 tests
• Code conformity über alles!
• Very important with > 850 contributors
– Unit tests
– Integration tests with multiple env (e.g. Nova):
• KVM
• Hyper-V
• VMWare
• XenServer
• etc
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Each CI results can vote +1 / -1 or be
neutral
–At the moment both errors and failures
account for -1
• Hard to distinguish between them
• In case of failures users can issue a
“recheck”
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• At this stage code can be peer reviewed
• Every user can review the code
– Leave comments
– Vote +1 / -1
• Each project (e.g Nova) has a peer elected team
with “+2 rights”
– Vote +2 / -2
• A commit requires 2x +2 and approval to be
merged
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• At this point the code is ready to be merged
–Another CI run is required
–Code base is changed since code submission
• If successful, the code will finally merge into
the git repository!
Code contribution workflow
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Queue monitoring
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Microsoft contributes hardware for CI
–Around 200 servers ATM
–Currently based in Cambridge, MA
• CI support team provided by:
–Microsoft
–Cloudbase Solutions
Hyper-V CI
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Consistency
– All projects should act the same way during code
reviews and offer the same interface to the devs
• Repeatability
– system should run 100 or 500 times per day
without failing
• Availability
– complete automation means that if it stops, the
whole project stops
OpenStack Requirements of automation
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Zuul
• Jenkins
• Undercloud
– KVM compute nodes
• Overcloud
– Devstack running on KVM VMs
– Hyper-V compute nodes
• Logs HTTP server
• Logstash
Hyper-V CI components
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Open source project
• monitors in-progress jobs for a set of
related patches
• will pre-emptively cancel any dependent
test jobs that would not succeed due to a
failure in a dependent patch
Zuul
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Zuul workflow
Gerrit
registers
commit
Zuul listens
Gerrit
stream and
records
commit
Zuul clones
referenced
git repo
locally
Predefined
Jenkins
job(s)
started by
Zuul
Zuul collects
and pushes
upstream
Jenkins
job(s)
results
Premium community conference on Microsoft technologies itcampro@ itcamp14#
pipelines:
- name: check
description: Newly uploaded patchsets enter this pipeline to receive an initial +/-1 Verified vote from Jenkins.
failure-message: Build failed. For rechecking only on the Hyper-V CI, add a review comment with recheck hyper-v
manager: IndependentPipelineManager
precedence: low
trigger:
gerrit:
- event: patchset-created
- event: change-restored
- event: comment-added
comment_filter: (?i)^(Patch Set [0-9]+:nn)?s*recheck(( (?:bug|lp)[s#:]*(d+))|( no bug)|( hyper-v))s*$
success:
gerrit:
verified: 0
failure:
gerrit:
verified: 0
Zuul yaml config 1/2
Premium community conference on Microsoft technologies itcampro@ itcamp14#
jobs:
- name: ^.*$
parameter-function: set_log_url
- name: 01_Reserve_Hyper-V_Node_01
voting: true
success-pattern:
http://64.119.130.115/{build.parameters[ZUUL_CHANGE]}/{build.parameters[ZUUL_PATCHSET
]}/
failure-pattern:
http://64.119.130.115/{build.parameters[ZUUL_CHANGE]}/{build.parameters[ZUUL_PATCHSET
]}/
success-message: Looks good to me
failure-message: Test run failed.
projects:
- name: openstack/nova
check:
- 01_Reserve_Hyper-V_Node_01
- name: openstack/neutron
check:
- 01_Reserve_Hyper-V_Node_01
Zuul yaml config 2/2
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• The de facto CI framework
–Open Source, written in Java
–Provides a well done UI (CLI as well)
• Lots of available plugins
• Supports git and other SCMs
• Executes jobs:
–on demand
–scheduled
–based on repository changes
Jenkins
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Jobs can be executed on
– Jenkins host
– Slaves (Linux, Windows)
• Jobs can be interdependent
– The CI executes multiple ones for each patchset
• Client / Server architecture
– Scales poorly
• Zuul integrates with Jenkins
– Executes jobs and waits for outcome
jenkins
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• 5 jobs defined
1. Reserve Hyper-V Node 01
2. Reserve Hyper-V Node 02
3. Initialize Test Environment
4. Run Tempest Test
5. Clean Test Environment
• Return result is the result of executing jobs
1 to 4, result of job 5 is ignored
Jenkins CI jobs
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Jenkins UI
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• OpenStack’s integration tests suite
• Test types
– Smoke tests
– Positive tests
– Negative tests
– White box tests
• Roughly 2.200 tests executed by the Hyper-V CI
Tempest
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Tempest
Premium community conference on Microsoft technologies itcampro@ itcamp14#
class MyTest(tempest.test.BaseTestCase):
def setUp(self):
…
def tearDown(self):
…
def do_whatever_action_test(self):
…
def do_whatever_other_action_test(self):
…
Tempest example - regular testcase
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Each time that a patchset is tested, an entire
OpenStack cloud needs to be spin up
• To achieve this, we use OpenStack
– Dogfooding FTW 
• Undercloud
– An OpenStack infrastructure
– Spins up IaaS instances for each patchset
• Overcloud
– The OpenStack cloud being tests
– runs the tempest tests
Under and Over clouds
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• CentOS 6.5 servers
–Deployed with RDO
• Puppet based
–Controller
• APIs and most OpenStack services
–Network
• networking node(s)
• running Neutron + Open vSwitch
–KVM compute nodes
Undercloud
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Ubuntu 12.04 VMs
–on undercloud’s VMs
–Running DevStack
–OpenStack development environment
–Code dependencies pulled via git
• Hyper-V compute nodes
–Bare metal
–Two per job, to test live migration
–Attached by Jenkins to the DevStack overcloud
Overcloud
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Undercloud UI - showing overcloud instances
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• Jenkins and tempests logs are copied to a
file server
• Served to the user from an HTTP server
–Linked in the Zuul job results
• Logs are quite tricky to parse
–they’re fairly big!
• Enter Logstash!
Logs
Premium community conference on Microsoft technologies itcampro@ itcamp14#
• LogStash
–A tool for managing events and logs
• Elasticsearch
–Distributed search and analytics engine
• Kibana
–Web UI
• The Hyper-V CI logstash instance is hosted
on Azure
LogStash
Premium community conference on Microsoft technologies itcampro@ itcamp14#
LogStash
Premium community conference on Microsoft technologies itcampro@ itcamp14#
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleDamien Garros
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsDocker, Inc.
 
DevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for KubernetesDevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for KubernetesAmbassador Labs
 
Principles of Kubernetes
Principles of KubernetesPrinciples of Kubernetes
Principles of KubernetesJames Kelly
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Weaveworks
 
Your Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiYour Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiDocker, Inc.
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)yalini97
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesCodefresh
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakoutDocker, Inc.
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Bruno Cornec
 
All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing Mark Hinkle
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployNatale Vinto
 
Leveraging CI/CD to improve open stack operation
Leveraging CI/CD to improve open stack operationLeveraging CI/CD to improve open stack operation
Leveraging CI/CD to improve open stack operationMaría Angélica Bracho
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Amrita Prasad
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDocker, Inc.
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Gilad Garon
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeDocker, Inc.
 
Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsBret Fisher
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroPatrick Chanezon
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Weaveworks
 

Was ist angesagt? (20)

Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and Ansible
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOps
 
DevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for KubernetesDevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for Kubernetes
 
Principles of Kubernetes
Principles of KubernetesPrinciples of Kubernetes
Principles of Kubernetes
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
 
Your Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiYour Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan Tufecki
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based Pipelines
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakout
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016
 
All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
 
Leveraging CI/CD to improve open stack operation
Leveraging CI/CD to improve open stack operationLeveraging CI/CD to improve open stack operation
Leveraging CI/CD to improve open stack operation
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
 
Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and Ops
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - Intro
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes
 

Ähnlich wie Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)

ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...ITCamp
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...ITCamp
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015Henry Huang
 
Docker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuDocker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuITCamp
 
OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016Alexandru Coman
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkinsecubemarketing
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time Amazon Web Services
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIJoel W. King
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewboxLino Telera
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewboxLino Telera
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerITCamp
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Webinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionWebinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionPlatform9
 
The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)ITCamp
 

Ähnlich wie Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti) (20)

ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Docker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuDocker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex Vranceanu
 
OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACI
 
Cont0519
Cont0519Cont0519
Cont0519
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas Maurer
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Webinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionWebinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for Production
 
The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)
 

Mehr von ITCamp

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...ITCamp
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...ITCamp
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp
 

Mehr von ITCamp (20)

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
 

Kürzlich hochgeladen

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Kürzlich hochgeladen (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)

  • 1. Premium community conference on Microsoft technologies itcampro@ itcamp14# Deep dive into the Microsoft OpenStack CI infrastructure Alessandro Pilotti Cloudbase Solutions Hyper-V MVP
  • 2. Premium community conference on Microsoft technologies itcampro@ itcamp14# Huge thanks to our sponsors & partners!
  • 3. Premium community conference on Microsoft technologies itcampro@ itcamp14# • OpenStack - what’s this? • Hyper-V integration • OpenStack continuous integration • The Hyper-V CI infrastructure • Undercloud and Overclouds Agenda
  • 4. Premium community conference on Microsoft technologies itcampro@ itcamp14# An open source IaaS project –Apache 2 license Managed by the OpenStack Foundation –More than 150 companies joined it including: –AMD, Intel, Canonical, SUSE Linux, Red Hat, Cisco, Dell, HP, IBM, NEC, Vmware Portable –Mostly used on Linux Written in Python
  • 5. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Essex – Apr 2012 – Hyper-V removed • Folsom – October 2012 – Cloudbase Solutions involvement - Hyper-V re-included  • Grizzly – Apr 2013 • Havana – October 2013 • Icehouse – Apr 2014 Releases
  • 6. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Distributed Components – Can be deployed on a single server or multiple servers • Public RESTful API – Bindings available for various languages (including .Net) • Queues (AMQP) for private APIs – Great scalability • Relational DBs for storing the configuration – MySQL, PostgreSQL, SQLite (and SQL server) • UI – CLI tools – Web dashboard OpenStack Architecture
  • 7. Premium community conference on Microsoft technologies itcampro@ itcamp14# Compute (Nova) Object Storage (Swift) Block Storage (Cinder) Image Service (Glance) Networking (Quantum / Neutron) Dashboard (Horizon) Identity (Keystone) Metering (Ceilometer) Orchestration (Heat) Components
  • 8. Premium community conference on Microsoft technologies itcampro@ itcamp14# Architecture 1
  • 9. Premium community conference on Microsoft technologies itcampro@ itcamp14# Architecture 2
  • 10. Premium community conference on Microsoft technologies itcampro@ itcamp14# • AMQP –RabbitMQ –Apache Qpid • API –RESTful services • Database –Any Python SQLAlchemy provider –Mostly MySQL –SQL Server required various bug fixes Component interaction
  • 11. Premium community conference on Microsoft technologies itcampro@ itcamp14# • FREE edition –Full Hypervisor –Minimum OS support • Minimum impact on security updates, etc • Windows Server 2012 R2 –Just enable the related role • Windows 8.1 –For workstation / testing / development usage Hyper-V Server availability
  • 12. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Nova Compute driver • Neutron plugin • Cinder Volume driver • Windows Cloud-Init • Ceilometer Agent • Heat templates Hyper-V / Windows Openstack components
  • 13. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Python Application installed as an application/service on the Hyper-V node. • OpenStack compute utilizes key features baked into the Hyper-V Virtualization Platform • Does not require windows clustering services • Does not require shared storage Hyper-V Nova Compute
  • 14. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Hyper-V plugin is part of Quantum since Jan 2013 – Project renamed in Neutron since Havana • Supported network types: – VLAN – Flat – Local • Plugin / agent model – Plugin runs in quantum-server (controller) – Agent runs on each Hyper-V compute node Neutron
  • 15. Premium community conference on Microsoft technologies itcampro@ itcamp14# Typical Neutron setup
  • 16. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Quantum plugin / agent AMQP RPC protocol is compatible with OpenVSwitch • You can use the OVS plugin with Hyper-V agents (or vice versa) – Limited to compatible L2 protocols: Flat / VLAN • You can use the L3 and DHCP agents with the Hyper-V plugin – Using the OVS L2 agent on the networking nodes • Supports ML2 plugin! Neutron OVS interop
  • 17. Premium community conference on Microsoft technologies itcampro@ itcamp14# • We ported OVS to Hyper-V Open vSwitch Windows porting
  • 18. Premium community conference on Microsoft technologies itcampro@ itcamp14# • De facto standard for SDN • Great interoperability – Hyper-V / KVM / etc • OpenFlow • Tunnelling –VXLAN –GRE • Neutron OVS plugin –No need for a different one Why OpenVSwitch?
  • 19. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Great code review platform –Gerrit • Strong emphasis on unit tests –Commits do not pass w/o tests –Python is a dynamic language • Syntactical and semantic validation needed • Great continuous integration effort –Lots of moving parts How does OpenStack handle such complexity?
  • 20. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Originally developed by Google for Android • Stand-alone patch review system • Manages: –Git Repositories –Code Review –Event Stream –Privileges (propose / merge code, manage git repositories) Gerrit
  • 21. Premium community conference on Microsoft technologies itcampro@ itcamp14# Gerrit workflow
  • 22. Premium community conference on Microsoft technologies itcampro@ itcamp14# Gerrit UI
  • 23. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Except special cases every contribution must have either: –Blueprint • for new features • to be approved by core team –Bug report • for, ahem, bugs • http://launchpad.net Code contribution workflow
  • 24. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Clone repository, e.g.: – git clone https://github.com/openstack/nova.git • Create a short lived branch: – git checkout -b bug/12345678 – Do changes – git commit • Commit message must contain referefence to bug / bp – git review • Install with pip install git-review Code contribution workflow
  • 25. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Gerrit triggers: – Pep8 / Flake8 tests • Code conformity über alles! • Very important with > 850 contributors – Unit tests – Integration tests with multiple env (e.g. Nova): • KVM • Hyper-V • VMWare • XenServer • etc Code contribution workflow
  • 26. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Each CI results can vote +1 / -1 or be neutral –At the moment both errors and failures account for -1 • Hard to distinguish between them • In case of failures users can issue a “recheck” Code contribution workflow
  • 27. Premium community conference on Microsoft technologies itcampro@ itcamp14# Code contribution workflow
  • 28. Premium community conference on Microsoft technologies itcampro@ itcamp14# • At this stage code can be peer reviewed • Every user can review the code – Leave comments – Vote +1 / -1 • Each project (e.g Nova) has a peer elected team with “+2 rights” – Vote +2 / -2 • A commit requires 2x +2 and approval to be merged Code contribution workflow
  • 29. Premium community conference on Microsoft technologies itcampro@ itcamp14# • At this point the code is ready to be merged –Another CI run is required –Code base is changed since code submission • If successful, the code will finally merge into the git repository! Code contribution workflow
  • 30. Premium community conference on Microsoft technologies itcampro@ itcamp14# Queue monitoring
  • 31. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Microsoft contributes hardware for CI –Around 200 servers ATM –Currently based in Cambridge, MA • CI support team provided by: –Microsoft –Cloudbase Solutions Hyper-V CI
  • 32. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Consistency – All projects should act the same way during code reviews and offer the same interface to the devs • Repeatability – system should run 100 or 500 times per day without failing • Availability – complete automation means that if it stops, the whole project stops OpenStack Requirements of automation
  • 33. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Zuul • Jenkins • Undercloud – KVM compute nodes • Overcloud – Devstack running on KVM VMs – Hyper-V compute nodes • Logs HTTP server • Logstash Hyper-V CI components
  • 34. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Open source project • monitors in-progress jobs for a set of related patches • will pre-emptively cancel any dependent test jobs that would not succeed due to a failure in a dependent patch Zuul
  • 35. Premium community conference on Microsoft technologies itcampro@ itcamp14# Zuul workflow Gerrit registers commit Zuul listens Gerrit stream and records commit Zuul clones referenced git repo locally Predefined Jenkins job(s) started by Zuul Zuul collects and pushes upstream Jenkins job(s) results
  • 36. Premium community conference on Microsoft technologies itcampro@ itcamp14# pipelines: - name: check description: Newly uploaded patchsets enter this pipeline to receive an initial +/-1 Verified vote from Jenkins. failure-message: Build failed. For rechecking only on the Hyper-V CI, add a review comment with recheck hyper-v manager: IndependentPipelineManager precedence: low trigger: gerrit: - event: patchset-created - event: change-restored - event: comment-added comment_filter: (?i)^(Patch Set [0-9]+:nn)?s*recheck(( (?:bug|lp)[s#:]*(d+))|( no bug)|( hyper-v))s*$ success: gerrit: verified: 0 failure: gerrit: verified: 0 Zuul yaml config 1/2
  • 37. Premium community conference on Microsoft technologies itcampro@ itcamp14# jobs: - name: ^.*$ parameter-function: set_log_url - name: 01_Reserve_Hyper-V_Node_01 voting: true success-pattern: http://64.119.130.115/{build.parameters[ZUUL_CHANGE]}/{build.parameters[ZUUL_PATCHSET ]}/ failure-pattern: http://64.119.130.115/{build.parameters[ZUUL_CHANGE]}/{build.parameters[ZUUL_PATCHSET ]}/ success-message: Looks good to me failure-message: Test run failed. projects: - name: openstack/nova check: - 01_Reserve_Hyper-V_Node_01 - name: openstack/neutron check: - 01_Reserve_Hyper-V_Node_01 Zuul yaml config 2/2
  • 38. Premium community conference on Microsoft technologies itcampro@ itcamp14# • The de facto CI framework –Open Source, written in Java –Provides a well done UI (CLI as well) • Lots of available plugins • Supports git and other SCMs • Executes jobs: –on demand –scheduled –based on repository changes Jenkins
  • 39. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Jobs can be executed on – Jenkins host – Slaves (Linux, Windows) • Jobs can be interdependent – The CI executes multiple ones for each patchset • Client / Server architecture – Scales poorly • Zuul integrates with Jenkins – Executes jobs and waits for outcome jenkins
  • 40. Premium community conference on Microsoft technologies itcampro@ itcamp14# • 5 jobs defined 1. Reserve Hyper-V Node 01 2. Reserve Hyper-V Node 02 3. Initialize Test Environment 4. Run Tempest Test 5. Clean Test Environment • Return result is the result of executing jobs 1 to 4, result of job 5 is ignored Jenkins CI jobs
  • 41. Premium community conference on Microsoft technologies itcampro@ itcamp14# Jenkins UI
  • 42. Premium community conference on Microsoft technologies itcampro@ itcamp14# • OpenStack’s integration tests suite • Test types – Smoke tests – Positive tests – Negative tests – White box tests • Roughly 2.200 tests executed by the Hyper-V CI Tempest
  • 43. Premium community conference on Microsoft technologies itcampro@ itcamp14# Tempest
  • 44. Premium community conference on Microsoft technologies itcampro@ itcamp14# class MyTest(tempest.test.BaseTestCase): def setUp(self): … def tearDown(self): … def do_whatever_action_test(self): … def do_whatever_other_action_test(self): … Tempest example - regular testcase
  • 45. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Each time that a patchset is tested, an entire OpenStack cloud needs to be spin up • To achieve this, we use OpenStack – Dogfooding FTW  • Undercloud – An OpenStack infrastructure – Spins up IaaS instances for each patchset • Overcloud – The OpenStack cloud being tests – runs the tempest tests Under and Over clouds
  • 46. Premium community conference on Microsoft technologies itcampro@ itcamp14# • CentOS 6.5 servers –Deployed with RDO • Puppet based –Controller • APIs and most OpenStack services –Network • networking node(s) • running Neutron + Open vSwitch –KVM compute nodes Undercloud
  • 47. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Ubuntu 12.04 VMs –on undercloud’s VMs –Running DevStack –OpenStack development environment –Code dependencies pulled via git • Hyper-V compute nodes –Bare metal –Two per job, to test live migration –Attached by Jenkins to the DevStack overcloud Overcloud
  • 48. Premium community conference on Microsoft technologies itcampro@ itcamp14# Undercloud UI - showing overcloud instances
  • 49. Premium community conference on Microsoft technologies itcampro@ itcamp14# • Jenkins and tempests logs are copied to a file server • Served to the user from an HTTP server –Linked in the Zuul job results • Logs are quite tricky to parse –they’re fairly big! • Enter Logstash! Logs
  • 50. Premium community conference on Microsoft technologies itcampro@ itcamp14# • LogStash –A tool for managing events and logs • Elasticsearch –Distributed search and analytics engine • Kibana –Web UI • The Hyper-V CI logstash instance is hosted on Azure LogStash
  • 51. Premium community conference on Microsoft technologies itcampro@ itcamp14# LogStash
  • 52. Premium community conference on Microsoft technologies itcampro@ itcamp14# Q & A