[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.
Cheers,
Rob
--
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Cloud Services
More information about the OpenStack-dev
mailing list