Continuous Integration Testing for Your Database Migrations
This isn't a talk about OpenStack. This is a talk about how OpenStack does database migration continuous integration, and how other projects might be able to learn from what we've done.
OpenStack is an interesting project in that it runs in a variety of different scale scenarios. There are very small deployments of only a few machines, up to large public clouds of thousands of machines. The OpenStack project takes Continuous Integration (CI) very seriously, and runs a suite of unit and integration tests on all proposed patches.
One thing we weren't very good at testing was database upgrades though. We have unit tests for many of them, but we don't know how these upgrades affect real users in the field. As a response, a small team I manage have worked on adding database migration testing to our CI environment. This new test infrastructure is open source (https://github.com/stackforge/turbo-hipster), and extensible. It currently runs tests on smaller databases, as well as a largish real user database. It has already caught two significant performance problems in database migrations.
This talk will cover how the test infrastructure is built, what we've learned from the six months of running it that we'll have had by the time of the conference, as well as telling a story about some of the bugs we've found and how we fixed them.
Software Developer, Rackspace
Joshua Hesketh is a software developer for Rackspace Australia working on upstream OpenStack. He works from his home in Hobart, Tasmania. Joshua is currently President of Linux Australia, previously the co-chair for PyCon Australia and a key organiser for linux.conf.au. He has an interest in robotics having recently completed a degree in mechatronic engineering. Josh is an active contributor to the openstack-infra and nova projects. | | Joshua... Read More →
Monday May 12, 2014 2:00pm - 2:40pm
Attendance numbers do not account for private attendees. Get there early!
Remove this from your schedule?
You may not be able to get back in if this is full.