SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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
 

Similar a 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
 

Similar a 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)
 

Más de ITCamp

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
 

Más de 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...
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
Safe Software
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

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