db_sync --expand may run downtime-incurring operations in upgrades to Newton
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Low
|
Dolph Mathews |
Bug Description
In discussing a fix for bug 1615014 with Richard, we realized that running:
keystone-manage db_sync --expand
... automatically runs legacy (offline) migrations *specifically* when upgrading from Mitaka->Newton. Therefore, we don't technically support zero-downtime, rolling upgrades for Mitaka->Newton, despite having all the rolling upgrade commands available in Newton.
Therefore, all of the following migration paths are effectively identical in Mitaka->Newton upgrades, in that they all involve destructive migrations downtime in the first step:
Migration path A:
keystone-manage db_sync # downtime-incurring operations normally occur here
Migration path B:
keystone-manage db_sync # downtime-incurring operations normally occur here
keystone-manage db_sync --expand # this becomes a no-op
keystone-manage db_sync --migrate # this becomes a no-op
keystone-manage db_sync --contract # this becomes a no-op
Migration path C:
keystone-manage db_sync --expand # downtime-incurring operations only occur here in Mitaka->Newton
keystone-manage db_sync --migrate
keystone-manage db_sync --contract # downtime-incurring operations normally occur here
Migration path A is required for migrations up until Liberty->Mitaka, and is still supported in Ocata and beyond. Migration path B works, but there is no reason to recommend this path. Migration path C is recommended for Newton->Ocata upgrades and beyond.
summary: |
- db_sync --expand may run destructive migrations + db_sync --expand may run downtime-incurring operations |
summary: |
- db_sync --expand may run downtime-incurring operations + db_sync --expand may run downtime-incurring operations in upgrades to + Newton |
Changed in keystone: | |
milestone: | none → pike-1 |
At the moment, I think this is simply worth documenting -- I can't think of a "fix" that would enable truly zero-downtime, rolling upgrades for any part of the Mitaka->Newton upgrade process.