kolla/docker/nova
Mark Goddard b68632ff7e 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 84a07102e2)
2019-06-27 14:25:07 +00:00
..
nova-api Run nova api_db sync before db sync 2019-06-27 14:25:07 +00:00
nova-base Install UEFI related package for nova image 2018-11-22 10:56:01 +00:00
nova-compute Add nvme-cli to nova compute packages 2018-08-20 23:13:52 +00:00
nova-compute-ironic Add nvme-cli to nova compute packages 2018-08-20 23:13:52 +00:00
nova-conductor Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-consoleauth Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-libvirt Using qemu-kvm on rhel 2018-08-06 10:00:09 +00:00
nova-mksproxy Implement nova-mksproxy 2017-10-17 00:19:10 +08:00
nova-novncproxy Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-placement-api Remove HTTP configuration shipped in openstack-nova-placement-api RPM 2019-05-24 19:11:42 +01:00
nova-scheduler Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-serialproxy Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-spicehtml5proxy Override image's meta info. 2017-05-03 11:08:17 +09:00
nova-ssh Remove all Heka related remaining stuff 2017-05-29 01:42:20 +00:00