SlideShare a Scribd company logo
Operating OpenStack Xen CI Loops
Stefano Stabellini, Bob Ball, Anthony Perard
BoF – Sharing Best Practices
20/05/2015
© 2014 Citrix. Confidential.2
About this BoF
Brief introduction to XenProject CI
Comparing two CI environments we have set up (XenServer vs libvirt+Xen CI)
Talk through some of the issues we have encountered, and what we see as good
practices coming out of those issues
We aren’t claiming to have “the answers” – we hope our experience will prompt
for discussions.
© 2014 Citrix. Confidential.3
Why Xen?
Xen is a type-1 hypervisor
small footprint (Less then 100K LOC)
GPLv2
Powers the largest public cloud in production
(>50% of vendors listed in Gartner 2014 Cloud magic
quadrant, more in terms of hosts)
© 2014 Citrix. Confidential.4
Make Xen the best hypervisor for OpenStack
© 2014 Citrix. Confidential.5
OpenStack
© 2014 Citrix. Confidential.6
OpenStack
© 2014 Citrix. Confidential.7
OpenStack
© 2014 Citrix. Confidential.8
OpenStack
© 2014 Citrix. Confidential.9
Progress and Goals
Goals:
• Make Xen a great platform for OpenStack production deployments
• Make Xen a great platform for OpenStack development and hacking
01/2015: Xen via libvirt still in Group C
A tale of two CIs
© 2014 Citrix. Confidential.11
A tale of two CIs
XenServer CI
• 15 months old
• Built before many current tools were
available
• Single use devstack Virtual Machines
• Custom process to watch Gerrit
• Custom process to trigger jobs
• Heavily-modified upstream components
• Uploading logs to swift
Libvirt+Xen CI
• 3 months old
• Fork of Ramy Asselin’s puppet scripts
• Single use devstack Virtual Machines
• Zuul watches Gerrit stream
• Jenkins triggers jobs
• Uploading logs to swift
© 2014 Citrix. Confidential.12
XenServer CI: Major components
Gerrit Xenapi-os-testing Devstack-GateCitrix-openstack-ci
Nodepool
project-config
© 2014 Citrix. Confidential.13
XenServer CI: The Good, The Bad and The Ugly
Single-use VMs
Easy access statistics
Trivial to disable
Email monitoring
Swift upload
Failure reproduction
Swift upload
Custom orchestration
Tempest exclusion list
Single cloud
Constant rebasing
Forked upstream repos
Comment format
Single point of failure
Inconsistent reliability
© 2014 Citrix. Confidential.14
Libvirt+Xen CI: Major components
Nodepool
Gerrit Zuul
Jenkins Devstack-GateGearman
JJB
os-ext-testing
© 2014 Citrix. Confidential.15
Libvirt+Xen CI: The Good, The Bad and The Ugly
Single-use VMs
Based on upstream
Swift upload
Highly reliable
Steep learning curve
Swift upload
Backport upstream Xen fixes
Changes to puppet scripts
No monitoring
Single Cloud
Swift upload
No pre-prod env
© 2014 Citrix. Confidential.16
Libvirt+Xen CI: Upgrades and backport
No “hacks” required
Libvirt 1.2.14 with:
• f86ae40 libxl: Move job acquisition in libxlDomainStart to callers
• 894d2ff libxl: acquire a job when destroying a domain
• 6dfec1e libxl: drop virDomainObj lock when destroying a domain
Xen 4.4 (ubuntu package) with:
• 9369988 libxl: event handling: Break out ao_work_outstanding
• f1335f0 libxl: event handling: ao_inprogress does waits while reports outstanding
• 4783c99 libxl: In domain death search, start search at first domid we want
• 188e9c5 libxl: Domain destroy: fork
© 2014 Citrix. Confidential.17
Our mistakes
Well, some of them…
Not regularly attending the Third Party meetings - XenServer CI predated them
Too many forks - although some have been merged back already
Assumed creating own environment was easier
Incorrect assumptions with devstack-gate flags – Use The Source Luke.
Insufficient isolation between the CI environments – cloud credentials
Too many CPUs / Not enough RAM – Devstack is hungry
Using Microsoft Outlook – Insufficient Filtering 
Best Practices
© 2014 Citrix. Confidential.19
Our Suggestions
(Not necessarily best practices)
Participate in the Third Party meetings
Participate in the Third Party WG meetings
Nodes Single use, orchestrated by Nodepool. Preferably in an OpenStack cloud.
Orchestration Third-party CI puppet scripts.
Logs Served from Swift. We now have > 1TB logs.
Projects Almost everything(!) - Minimal suggestion: Add Tempest and Devstack.
Coverage Disable tests to improve pass rate(!).
© 2014 Citrix. Confidential.20
Our Questions
Voting Simplifying the disable/enable loop
Coverage Disabling individual tests – Where is the line?
Monitoring Need a solution both for us and for sharing results more widely
Enforcement Several cases of cores ignoring valid fails – breaking the CI
Platform vs Driver testing Testing of all the things
Shared orchestration Wouldn’t it be nice… No one can cover all weekends and
timezones
© 2014 Citrix. Confidential.21
Open Discussion
© 2014 Citrix. Confidential.22
WORK BETTER. LIVE BETTER.

More Related Content

PDF
Xen and OpenStack
PDF
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
PDF
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
PPTX
DockerCon EU 2015: Zoe: Swarming Spark applications
PDF
The elements of kubernetes
PDF
Aws + kubernetes = ❤︎
PDF
Mesos meetup @ add this
PDF
Mesos meetup @ add this
Xen and OpenStack
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
DockerCon EU 2015: Zoe: Swarming Spark applications
The elements of kubernetes
Aws + kubernetes = ❤︎
Mesos meetup @ add this
Mesos meetup @ add this

What's hot (20)

PPTX
Zoe - Swarming Spark applications
PDF
Kubescape single pane of glass
PDF
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
PPTX
Getting Started with XenServer and OpenStack.pptx
PDF
Zombies in Kubernetes
PDF
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
PDF
Configuring OpenStack to Use the Xen Project Hypervisor
PDF
DockerCon 2017 - General Session Day 1 - Solomon Hykes
PDF
Sharding Containers: Make Go Apps Computer-Friendly Again by Andrey Sibiryov
PDF
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
PDF
Lunar Way and the Cloud Native "stack"
PDF
Two Years In Production With Kubernetes - An Experience Report
PDF
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
PDF
[OpenStack Days Korea 2016] Track2 - 가상화 네트워크와 클라우드간 협업
PDF
How to accelerate docker adoption with a simple and powerful user experience
PDF
Removing Environmental Differences - Simon Pearson
PDF
The Automated Container Deployment Pipeline- JAXDevOps
PDF
Amplifying Docker - Alex Heneveld

PPTX
[OpenStack 하반기 스터디] DPDK & OpenStack why?
PPTX
CIF16: Rethinking Foundations for Zero-devops Clouds (Maxim Kharchenko, Cloud...
Zoe - Swarming Spark applications
Kubescape single pane of glass
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Getting Started with XenServer and OpenStack.pptx
Zombies in Kubernetes
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
Configuring OpenStack to Use the Xen Project Hypervisor
DockerCon 2017 - General Session Day 1 - Solomon Hykes
Sharding Containers: Make Go Apps Computer-Friendly Again by Andrey Sibiryov
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Lunar Way and the Cloud Native "stack"
Two Years In Production With Kubernetes - An Experience Report
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
[OpenStack Days Korea 2016] Track2 - 가상화 네트워크와 클라우드간 협업
How to accelerate docker adoption with a simple and powerful user experience
Removing Environmental Differences - Simon Pearson
The Automated Container Deployment Pipeline- JAXDevOps
Amplifying Docker - Alex Heneveld

[OpenStack 하반기 스터디] DPDK & OpenStack why?
CIF16: Rethinking Foundations for Zero-devops Clouds (Maxim Kharchenko, Cloud...
Ad

Viewers also liked (20)

PDF
Mirage: extreme specialisation of virtual appliances
PPTX
Xen Project Release and Roadmap Process (4.7+)
PDF
XPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
PDF
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
PDF
Network Multitenancy in Xen-Based Clouds-XPUS13 Vittal
PDF
XPDS13: Increasing XenServer's VM density - Jonathan Davies, Citrix
PPTX
CentOS Virt SIG - Community virtualization packages on an immutable core
PDF
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
PDF
Xen Project Hypervisor for the Cloud
PDF
Bare-Metal Hypervisor as a Platform for Innovation
PDF
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
PDF
XPDS13: Xenserver-core: What it is, how it is built and how to get involved -...
PDF
XPDS14: Network Throughput Improvements in XenServer - Zoltan Kiss, Citrix
PDF
XPDS14 - osstest, Xen's Automatic Testing Facility - Ian Jackson, Citrix
PDF
STATUS UPDATE OF COLO PROJECT XIAOWEI YANG, HUAWEI AND WILL AULD, INTEL
PDF
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
PDF
Xen PV Performance Status and Optimization Opportunities
PDF
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
PDF
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
PDF
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
Mirage: extreme specialisation of virtual appliances
Xen Project Release and Roadmap Process (4.7+)
XPDS14: Xenstore Mandatory Access Control - James Bielman, Galois
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
Network Multitenancy in Xen-Based Clouds-XPUS13 Vittal
XPDS13: Increasing XenServer's VM density - Jonathan Davies, Citrix
CentOS Virt SIG - Community virtualization packages on an immutable core
XPDS13: Performance Optimization on Xen-based Android Device - Jack Ren, Inte...
Xen Project Hypervisor for the Cloud
Bare-Metal Hypervisor as a Platform for Innovation
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
XPDS13: Xenserver-core: What it is, how it is built and how to get involved -...
XPDS14: Network Throughput Improvements in XenServer - Zoltan Kiss, Citrix
XPDS14 - osstest, Xen's Automatic Testing Facility - Ian Jackson, Citrix
STATUS UPDATE OF COLO PROJECT XIAOWEI YANG, HUAWEI AND WILL AULD, INTEL
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
Xen PV Performance Status and Optimization Opportunities
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
Ad

Similar to Sharing Best Practices in Setting up and Operating OpenStack CI Loops (20)

PDF
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
PPTX
OSCON2014: Understanding Hypervisor Selection in Apache CloudStack
PDF
Cloud Native Dünyada CI/CD
PPTX
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
PDF
XDS15: Project Raisin
PDF
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
PPT
How can Liferay Developers, Deployers move to the Cloud
PDF
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
PDF
KubeCon Europe 2019 - VMware SIG - Intro to the CSI driver
PDF
DevOps Days Boston 2017: Developer first workflows for Kubernetes
PPTX
Kubernetes your tests! automation with docker on google cloud platform
PPTX
Cloudexpowest opensourcecloudcomputing-1by arun kumar
PPTX
Cloudexpowest opensourcecloudcomputing-1by arun kumar
PPTX
Cont0519
PPTX
Docker echosystemtelaviv
PDF
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
PDF
OpenStack on Kubernetes (BOS Summit / May 2017 update)
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PPTX
Ravello webinar - Creating smart labs on AWS/Google for sales demos, training...
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
OSCON2014: Understanding Hypervisor Selection in Apache CloudStack
Cloud Native Dünyada CI/CD
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
XDS15: Project Raisin
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
How can Liferay Developers, Deployers move to the Cloud
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
KubeCon Europe 2019 - VMware SIG - Intro to the CSI driver
DevOps Days Boston 2017: Developer first workflows for Kubernetes
Kubernetes your tests! automation with docker on google cloud platform
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cont0519
Docker echosystemtelaviv
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
OpenStack on Kubernetes (BOS Summit / May 2017 update)
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Ravello webinar - Creating smart labs on AWS/Google for sales demos, training...

More from The Linux Foundation (20)

PDF
ELC2019: Static Partitioning Made Simple
PDF
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
PDF
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
PDF
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
PDF
XPDDS19 Keynote: Unikraft Weather Report
PDF
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
PDF
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
PDF
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
PPTX
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
PPTX
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
PDF
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
PDF
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
PDF
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
PDF
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
PDF
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
PDF
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
PDF
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
ELC2019: Static Partitioning Made Simple
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Modernizing your data center with Dell and AMD
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx

Sharing Best Practices in Setting up and Operating OpenStack CI Loops

  • 1. Operating OpenStack Xen CI Loops Stefano Stabellini, Bob Ball, Anthony Perard BoF – Sharing Best Practices 20/05/2015
  • 2. © 2014 Citrix. Confidential.2 About this BoF Brief introduction to XenProject CI Comparing two CI environments we have set up (XenServer vs libvirt+Xen CI) Talk through some of the issues we have encountered, and what we see as good practices coming out of those issues We aren’t claiming to have “the answers” – we hope our experience will prompt for discussions.
  • 3. © 2014 Citrix. Confidential.3 Why Xen? Xen is a type-1 hypervisor small footprint (Less then 100K LOC) GPLv2 Powers the largest public cloud in production (>50% of vendors listed in Gartner 2014 Cloud magic quadrant, more in terms of hosts)
  • 4. © 2014 Citrix. Confidential.4 Make Xen the best hypervisor for OpenStack
  • 5. © 2014 Citrix. Confidential.5 OpenStack
  • 6. © 2014 Citrix. Confidential.6 OpenStack
  • 7. © 2014 Citrix. Confidential.7 OpenStack
  • 8. © 2014 Citrix. Confidential.8 OpenStack
  • 9. © 2014 Citrix. Confidential.9 Progress and Goals Goals: • Make Xen a great platform for OpenStack production deployments • Make Xen a great platform for OpenStack development and hacking 01/2015: Xen via libvirt still in Group C
  • 10. A tale of two CIs
  • 11. © 2014 Citrix. Confidential.11 A tale of two CIs XenServer CI • 15 months old • Built before many current tools were available • Single use devstack Virtual Machines • Custom process to watch Gerrit • Custom process to trigger jobs • Heavily-modified upstream components • Uploading logs to swift Libvirt+Xen CI • 3 months old • Fork of Ramy Asselin’s puppet scripts • Single use devstack Virtual Machines • Zuul watches Gerrit stream • Jenkins triggers jobs • Uploading logs to swift
  • 12. © 2014 Citrix. Confidential.12 XenServer CI: Major components Gerrit Xenapi-os-testing Devstack-GateCitrix-openstack-ci Nodepool project-config
  • 13. © 2014 Citrix. Confidential.13 XenServer CI: The Good, The Bad and The Ugly Single-use VMs Easy access statistics Trivial to disable Email monitoring Swift upload Failure reproduction Swift upload Custom orchestration Tempest exclusion list Single cloud Constant rebasing Forked upstream repos Comment format Single point of failure Inconsistent reliability
  • 14. © 2014 Citrix. Confidential.14 Libvirt+Xen CI: Major components Nodepool Gerrit Zuul Jenkins Devstack-GateGearman JJB os-ext-testing
  • 15. © 2014 Citrix. Confidential.15 Libvirt+Xen CI: The Good, The Bad and The Ugly Single-use VMs Based on upstream Swift upload Highly reliable Steep learning curve Swift upload Backport upstream Xen fixes Changes to puppet scripts No monitoring Single Cloud Swift upload No pre-prod env
  • 16. © 2014 Citrix. Confidential.16 Libvirt+Xen CI: Upgrades and backport No “hacks” required Libvirt 1.2.14 with: • f86ae40 libxl: Move job acquisition in libxlDomainStart to callers • 894d2ff libxl: acquire a job when destroying a domain • 6dfec1e libxl: drop virDomainObj lock when destroying a domain Xen 4.4 (ubuntu package) with: • 9369988 libxl: event handling: Break out ao_work_outstanding • f1335f0 libxl: event handling: ao_inprogress does waits while reports outstanding • 4783c99 libxl: In domain death search, start search at first domid we want • 188e9c5 libxl: Domain destroy: fork
  • 17. © 2014 Citrix. Confidential.17 Our mistakes Well, some of them… Not regularly attending the Third Party meetings - XenServer CI predated them Too many forks - although some have been merged back already Assumed creating own environment was easier Incorrect assumptions with devstack-gate flags – Use The Source Luke. Insufficient isolation between the CI environments – cloud credentials Too many CPUs / Not enough RAM – Devstack is hungry Using Microsoft Outlook – Insufficient Filtering 
  • 19. © 2014 Citrix. Confidential.19 Our Suggestions (Not necessarily best practices) Participate in the Third Party meetings Participate in the Third Party WG meetings Nodes Single use, orchestrated by Nodepool. Preferably in an OpenStack cloud. Orchestration Third-party CI puppet scripts. Logs Served from Swift. We now have > 1TB logs. Projects Almost everything(!) - Minimal suggestion: Add Tempest and Devstack. Coverage Disable tests to improve pass rate(!).
  • 20. © 2014 Citrix. Confidential.20 Our Questions Voting Simplifying the disable/enable loop Coverage Disabling individual tests – Where is the line? Monitoring Need a solution both for us and for sharing results more widely Enforcement Several cases of cores ignoring valid fails – breaking the CI Platform vs Driver testing Testing of all the things Shared orchestration Wouldn’t it be nice… No one can cover all weekends and timezones
  • 21. © 2014 Citrix. Confidential.21 Open Discussion
  • 22. © 2014 Citrix. Confidential.22 WORK BETTER. LIVE BETTER.

Editor's Notes

  • #10: Group C These drivers have minimal testing and may or may not work at any given time. Use them at your own risk. Test coverage includes: (maybe) unit tests that gate commits no public functional testing Group B These drivers are in a bit of a middle ground. Test coverage includes: unit tests that gate commits functional testing providing by an external system that does not gate commits, but advises patch authors and reviewers of results in gerrit (the code review system). Group A These drivers are fully supported. Test coverage includes: unit tests that gate commits functional testing that gate commits
  • #13: Nodepool Creates pool of single-use test nodes in an OpenStack cloud to speed test time openstack-citrix-ci Test run orchestrator, node manager, Gerrit watcher, etc xenapi-os-testing Wrapper around devstack-gate; Similar purpose to job definition in Jenkins Job Builder Devstack-Gate Entry point on single node to setup + run Devstack + Tempest