nova: call map_cell0 much earlier in the setup

The map_cell0 command creates a cell mapping record in the
nova_api database, and the nova-manage db sync command
will migrate the db schema for the nova_cell0 database. This
patch takes advantage of that by moving the map_cell0 call
much earlier in the setup process so we get the nova_cell0
db schema migrated at the same time as the main nova db.

This also removes the || true condition around map_cell0
since it's idempotent now due to fix:

aa7b6ebbb254f00fcb548832941ca9dbd3996d9f

Change-Id: Ice4fbb1771270c618b2acbc933d4fbfb6805df81
This commit is contained in:
Matt Riedemann 2017-01-31 15:20:18 -05:00
parent e6f8dbb55f
commit ac5fdb4c40

View File

@ -683,9 +683,13 @@ function init_nova {
recreate_database nova
recreate_database nova_cell0
# Migrate nova database. If "nova-manage cell_v2 simple_cell_setup" has
# been run this migrates the "nova" and "nova_cell0" database.
# Otherwise it just migrates the "nova" database.
# map_cell0 will create the cell mapping record in the nova_api DB so
# this needs to come after the api_db sync happens. We also want to run
# this before the db sync below since that will migrate both the nova
# and nova_cell0 databases.
nova-manage cell_v2 map_cell0 --database_connection `database_connection_url nova_cell0`
# Migrate nova and nova_cell0 databases.
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db sync
if is_service_enabled n-cell; then
@ -945,9 +949,6 @@ function create_flavors {
# create_cell(): Group the available hosts into a cell
function create_cell {
# NOTE(danms): map_cell0 always returns 1 right now; remove this when that is fixed
(nova-manage cell_v2 map_cell0 --database_connection `database_connection_url nova_cell0`|| true)
if ! is_service_enabled n-cell; then
nova-manage cell_v2 simple_cell_setup --transport-url $(get_transport_url)
else