OpenStack Compute (Nova)
Go to file
Mark Goddard e99937c9a9 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.

Change-Id: Iff2a23e09f2c5330b8fc0e9456860b65bd6ac149
Closes-Bug: #1832860
2019-07-04 09:16:41 +01:00
api-guide/source Api-guide: Add Block Device Mapping 2019-06-13 11:58:20 -04:00
api-ref/source Merge "Block swap volume on volumes with >1 rw attachment" 2019-05-30 17:47:10 +00:00
devstack Merge "Add nova-multi-cell job" 2019-04-30 21:18:42 +00:00
doc Exit 1 when db sync runs before api_db sync 2019-07-04 09:16:41 +01:00
etc/nova Merge "Summarize output of sample configuration generator" 2019-06-16 07:30:03 +00:00
gate Make nova-next archive using --before 2019-06-05 07:42:23 -07:00
nova Exit 1 when db sync runs before api_db sync 2019-07-04 09:16:41 +01:00
playbooks/legacy Merge "Set [quota]count_usage_from_placement = True in nova-next" 2019-05-30 20:39:56 +00:00
releasenotes Merge "Always Set dhcp_server in network_info" 2019-06-16 08:03:57 +00:00
tools Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 13:59:57 +08:00
.coveragerc Remove nova/openstack/* from .coveragerc 2016-10-12 16:20:49 -04:00
.gitignore Delete the placement code 2019-04-28 20:06:15 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:45:52 +00:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.stestr.conf Finish stestr migration 2017-11-24 16:51:12 -05:00
.zuul.yaml Merge "Make all functional tests reusable by other projects" 2019-06-05 07:20:42 +00:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Merge "Bindep does not catch missing libpcre3-dev on Ubuntu" 2018-02-14 07:31:09 +00:00
CONTRIBUTING.rst Update links in documents 2018-01-12 17:05:11 +08:00
HACKING.rst Hacking N362: Don't abbrev/alias privsep import 2019-04-04 20:42:43 +00:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
lower-constraints.txt Move selective patching of open() to nova.test for reuse 2019-05-25 02:49:40 +00:00
MAINTAINERS Fix broken URLs 2017-09-07 15:42:31 +02:00
README.rst Docs: modernise links 2018-03-24 20:27:11 +08:00
requirements.txt Blacklist python-cinderclient 4.0.0 2019-05-30 09:30:24 +08:00
setup.cfg Update Python 3 test runtimes for Train 2019-05-09 17:35:43 +08:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Merge "Exclude broken ironicclient versions 2.7.1" 2019-06-03 19:44:11 +00:00
tox.ini Merge "update comment on ignore_basepython_conflict" 2019-06-13 22:45:58 +00:00

Team and repository tags

image

OpenStack Nova

OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), Hyper-V, VMware, XenServer, OpenStack Ironic and PowerVM.

Use the following resources to learn more.

API

To learn how to use Nova's API, consult the documentation available online at:

For more information on OpenStack APIs, SDKs and CLIs in general, refer to:

Operators

To learn how to deploy and configure OpenStack Nova, consult the documentation available online at:

In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:

Developers

For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst.

Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests.

Further developer focused documentation is available at:

Other Information

During each Summit and Project Team Gathering, we agree on what the whole community wants to focus on for the upcoming release. The plans for nova can be found at: