Skip to content

Commit 09226a5

Browse files
committed
Run nova api_db sync before db sync
Backport: Stein, Rocky Since cells v2 was introduced, nova operators must run two commands to migrate the database schemas of nova's databases - nova-manage api_db sync and nova-manage db sync. It is necessary to run them in this order, since the db sync may depend on schema changes made to the api database in the api_db sync. Executing the db sync first may fail, for example with the following seen in a Queens to Rocky upgrade: nova-manage db sync ERROR: Could not access cell0. Has the nova_api database been created? Has the nova_cell0 database been created? Has "nova-manage api_db sync" been run? Has "nova-manage cell_v2 map_cell0" been run? Is [api_database]/connection set in nova.conf? Is the cell0 database connection URL correct? Error: (pymysql.err.InternalError) (1054, u"Unknown column 'cell_mappings.disabled' in 'field list'") [SQL: u'SELECT cell_mappings.created_at AS cell_mappings_created_at, cell_mappings.updated_at AS cell_mappings_updated_at, cell_mappings.id AS cell_mappings_id, cell_mappings.uuid AS cell_mappings_uuid, cell_mappings.name AS cell_mappings_name, cell_mappings.transport_url AS cell_mappings_transport_url, cell_mappings.database_connection AS cell_mappings_database_connection, cell_mappings.disabled AS cell_mappings_disabled \nFROM cell_mappings \nWHERE cell_mappings.uuid = %(uuid_1)s \n LIMIT %(param_1)s'] [parameters: {u'uuid_1': '00000000-0000-0000-0000-000000000000', u'param_1': 1}] (Background on this error at: http://sqlalche.me/e/2j85) Despite this error, the command actually exits zero, so kolla does not notice the failure. This change reorders these two commands to run the api_db sync before the db sync. Change-Id: I0514c02aaee1a413a7979c3a426e0484df839861 Closes-Bug: #1832860 (cherry picked from commit 84a0710)
1 parent efbd5ff commit 09226a5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docker/nova/nova-api/extend_start.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
44
# of the KOLLA_BOOTSTRAP variable being set, including empty.
55
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
6-
nova-manage db sync
76
nova-manage api_db sync
7+
nova-manage db sync
88
nova-manage db online_data_migrations
99
exit 0
1010
fi
1111

1212
if [[ "${!KOLLA_UPGRADE[@]}" ]]; then
13-
nova-manage db sync
1413
nova-manage api_db sync
14+
nova-manage db sync
1515
exit 0
1616
fi
1717

0 commit comments

Comments
 (0)