OpenStack is not only the fastest-growing open-source cloud project but is also a large-scale, complex system with a rapidly expanding code base and more than 1,000 contributors to date. Handling the quantity and pace of contributions is a huge challenge on its own.
We've been able to handle the dramatic scale of development by having automation systems that allow us to treat all developers equally from a process perspective and keep our trunk always clean by performing testing pre-merge. The beautiful thing about this approach has been that it doesn't just keep up with demands, it facilities and encourages more development.
This talk will cover the design and implementation of the current system, based around a combination of Gerrit and Jenkins, as well as the workflow that we support and require, how we implemented it and what the challenges were. At the end of this talk you should have a good understanding of how OpenStack handles up to 200 contribution activities an hour.
Learn about the dynaslave plugin (planned to be open sourced by the date of JUC San Francisco) which Netflix wrote to provide sets of custom EC2 build slaves controlled by autoscaling groups. We now use dynalsaves for a large majority of our builds.