Continuous Integration Testing for Your Database Migrations
summary
OpenStack adds an open source Python test harness called turbo-hipster that boots real snapshots, runs every migration stepwise, and measures timing plus DB statistics; the CI runs eight data sets across about 20 nodes and sustains roughly 800 jobs per day (1.5 GB of data over six months) and already catches surprising failures — two significant migration performance regressions and broken downgrades — leading to concrete fixes (SQL rewrites, migration redesigns) that measurably reduce runtime.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:00Overview
- 2:52Migration 138 (Drop server name column)
- 6:56Goals
- 8:30Managing your nova database
- 9:09Testing database migrations
- 9:33Implementation
- 13:31letc/turbo-hipster/config.yaml
- 14:09letc/turbo-hipster/conf.d/db_migration.yaml
- 16:40The real_db_upgrade plugin
- 18:28Resulting log files
- 19:13Ivar/lib/turbo-hipster/dataset/config.json
- 20:42Return results
- 21:49Security
- 25:49Interesting bugs found
- 27:59Secondary effects
related talks
45mHighway to Continuous Integration
22mData Integrity Tests in CI/CD Pipelines
18mOpenstack Continious Performance tests (CPT)
26mDjango migrations, friend or foe? Optimize them for testing
01h 00mContinuous Integration and Delivery for Databases
54mOpenStack Development: The Infrastructure Behind the Infrastructure
31mHelp! My Database Is The Bottleneck
01h 12mPitfalls of Continuous Deployment
