Vancouver, BC
May 21-24, 2018

Event Details

Please note: All times listed below are in Central Time Zone

CI/CD Build and Pipelines For OpenStack At Scale

At Oath, we deploy a heavily customized version of OpenStack across many different regions and clusters. We need a way to build each OpenStack component with all of our customizations into a self-contained package that is deployable in our data centers. We also need fine grained control over our deployments such that we can swiftly deploy fixes/enhancements to single components in a single cluster with minimal downtime.

We designed a build platform on our open source tool, Screwdriver, which is capable of building and publishing our customized, self contained packages as both RPMs and PyPi packages. We then built CI/CD pipelines using Screwdriver and Chef which pull down the custom packages that are published by our build system and deploy them individually in minutes. The pipelines are capable of deploying individual components without redeploying the entire stack. Each cluster has its own pipeline which gives us very fine grained control over our deployments

What can I expect to learn?

Attendees can expect to learn how we do continuous deployment at Oath while also maintaining stability. This involves deploying changes/enhancements on top of stable releases rather than the master branch which is important for us (and perhaps other large deployers) because we don’t want to run an actively developed branch in production. We will also be outlining best practices and design principles to follow when attempting to build your own CI/CD pipelines for OpenStack. Attendees will also learn about the challenges we faced with building our deployment infrastructure and how those challenges influenced our decisions and the design of our new system. Making customizations to OpenStack can be challenging to do in a clean and maintainable way. We will be discussing the types of changes we make to OpenStack and how others can go about making similar changes in a way that will incur minimal overhead when upgrading to a new release.

Tuesday, May 22, 4:40pm-5:40pm (11:40pm - 12:40am UTC)
Difficulty Level: Intermediate
Software Engineer
Ryan is a Software Engineer who graduated from UC San Diego with a Computer Science degree in 2016 and now works for Oath Inc. He has become a key member of their OpenStack team which builds, deploys and maintains one of the largest OpenStack deployments in the world. He played a pivotal role in numerous large OpenStack related projects at Oath Inc. including upgrading 6 releases in one... FULL PROFILE