commit e99937c9a95f7049a53bcae7beff9a2a00c5889c
Author: Mark Goddard <email address hidden>
Date: Mon Jun 17 09:56:15 2019 +0100
Exit 1 when db sync runs before api_db sync
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 deployment tools
are likely to continue with the upgrade, leading to issues down the
line.
This change modifies the command to exit 1 if the cell0 sync fails.
This change also clarifies this ordering in the upgrade and nova-manage
documentation, and adds information on exit codes for the command.
Reviewed: https:/ /review. opendev. org/665626 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=e99937c9a95 f7049a53bcae7be ff9a2a00c5889c
Committed: https:/
Submitter: Zuul
Branch: master
commit e99937c9a95f704 9a53bcae7beff9a 2a00c5889c
Author: Mark Goddard <email address hidden>
Date: Mon Jun 17 09:56:15 2019 +0100
Exit 1 when db sync runs before api_db sync
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 /connection set in nova.conf? err.InternalErr or) (1054, u"Unknown column
'cell_ mappings. disabled' in 'field list'") [SQL: u'SELECT mappings. created_ at AS cell_mappings_ created_ at, mappings. updated_ at AS cell_mappings_ updated_ at, mappings. id AS cell_mappings_id, cell_mappings.uuid AS mappings_ uuid, cell_mappings.name AS cell_mappings_name, mappings. transport_ url AS cell_mappings_ transport_ url, mappings. database_ connection AS mappings_ database_ connection, cell_mappings. disabled AS mappings_ disabled \nFROM cell_mappings \nWHERE mappings. uuid = %(uuid_1)s \n LIMIT %(param_1)s'] [parameters: 0000-0000- 0000-0000000000 00', u'param_1': 1}] sqlalche. me/e/2j85)
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]
Is the cell0 database connection URL correct?
Error: (pymysql.
cell_
cell_
cell_
cell_
cell_
cell_
cell_
cell_
cell_
{u'uuid_1': '00000000-
(Background on this error at: http://
Despite this error, the command actually exits zero, so deployment tools
are likely to continue with the upgrade, leading to issues down the
line.
This change modifies the command to exit 1 if the cell0 sync fails.
This change also clarifies this ordering in the upgrade and nova-manage
documentation, and adds information on exit codes for the command.
Change-Id: Iff2a23e09f2c53 30b8fc0e9456860 b65bd6ac149
Closes-Bug: #1832860