From ac5fdb4c4090efd682cc5c55aa30ec433da29fc7 Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Tue, 31 Jan 2017 15:20:18 -0500 Subject: [PATCH] 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 --- lib/nova | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/nova b/lib/nova index 4d336f6271..ba9cac5161 100644 --- a/lib/nova +++ b/lib/nova @@ -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