[openstack-dev] no-downtime DB migrations

Robert Collins robertc at robertcollins.net
Mon Apr 29 20:48:44 UTC 2013

There were I think 5? 6? sessions on this general topic at the summit.

https://etherpad.openstack.org/HavanaNoDowntimeDBMigrations is the
session I coordinated; where Johannes & Mark Wash volunteered to put
together the basic infrastructure for OpenStack going forward.

We captured several key constraints:
 * one deploy of new code : distributors cannot depend on lots of little steps
  * <=5 seconds downtime with the database on each migration applied
  * Stay HA during the entire period
  * work with mysql 5.1 in the sense of can install/deploy etc.
no-downtime configurations can require very recent versions of the DB
(e.g. MySQL 5.5 and above)

And a basic design:

Basic design:
 * Running foo db-sync will apply migrations in no-downtime fashion
 * Migrations may be expand-contract, or in-place depending on
anticipated data-size
 * Abstraction layer for dealing with different HA configurations
 * Code talking to the DB will know how to deal with all intermediary
versions of the DB
 * Rollup migrations and cleanup legacy code on regular basis - e.g.
once per release.

IIRC glance was going to be the guinea pig, with code migrating from
there to oslo once it starts to mature.


Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Cloud Services

More information about the OpenStack-dev mailing list