OpenStack is a rapidly evovlving code base, with over 1,000 commits to Nova and Glance projects during the Juno cycle as of August 2014. Upgrading the control plane from OpenStack's master branch throughout the release's development cycle, rather than at the end of the cycle, and keeping the production cloud aligned with upstream provides a unique set of challenges (and is more than a little insane.) Rackspace has been doing just that, however, for over 2 years. One of the keys to making releases from OpenStack master possible is the way in which we handle code delivery using a combination of software, automation, and process. In this talk, Philip Schwartz and Kevin Mitchell will pop the hood on the packaging solution they developed for Rackspace. Once OpenStack-Infrastructure CI is completed and a patchset is merged, Kevin and Philip's package picks up in order to create the "RackStack" payload from upstream and internal respositories as well as cloud-speciifc configurations for use upgrading the public cloud control plane.
Branching and Tagging Strategy
Approach to Internal Patches
Merging Upstream and Local Using "PLY"
Unit Tests during Packaging
Building the Project Packages
Improvements to Speed & Performance