Files
nova/doc/source/cli/nova-status.rst
T
Matt Riedemann eaf6340847 Log a warning and add nova-status check for old API service versions
Change Ib984c30543acb3ca9cb95fb53d44d9ded0f5a5c8, which was added
in Newton when cells v2 was optional, added some transitional code
to the API for looking up an instance, which didn't rely on instance
mappings in a cell to find the instance if the minimum nova-osapi_compute
service version was from before Ocata.

People have reported this being a source of confusion when upgrading
from before Ocata, when cells v2 wasn't required, to Ocata+ where cells
v2 along with the mapping setup is required. That's because they might
have older nova-osapi_compute service version records in their 'nova'
(cell) database which makes the API think the code is older than it
actually is, and results in an InstanceNotFound error.

This change does two things:

1. Adds a warning to the compute API code in this scenario to serve
   as a breadcrumb if a deployment hits this issue.

2. A nova-status check to look for minimum nova-osapi_compute service
   versions across all cells and report the issue as a warning. It's
   not an upgrade failure since we don't know how the nova-api service
   is configured, but leave that investigation up to the deployer.

This is also written in such a way that we should be able to backport
this through to stable/ocata.

Change-Id: Ie2bc4616439352850cf29a9de7d33a06c8f7c2b8
Closes-Bug: #1759316
2018-04-09 14:43:34 -04:00

126 lines
3.5 KiB
ReStructuredText

===========
nova-status
===========
--------------------------------------
CLI interface for nova status commands
--------------------------------------
:Author: openstack@lists.openstack.org
:Copyright: OpenStack Foundation
:Manual section: 1
:Manual group: cloud computing
Synopsis
========
::
nova-status <category> <action> [<args>]
Description
===========
`nova-status` is a tool that provides routines for checking the status of a
Nova deployment.
Options
=======
The standard pattern for executing a `nova-status` command is::
nova-status <category> <command> [<args>]
Run without arguments to see a list of available command categories::
nova-status
Categories are:
* ``upgrade``
Detailed descriptions are below.
You can also run with a category argument such as ``upgrade`` to see a list of
all commands in that category::
nova-status upgrade
These sections describe the available categories and arguments for
`nova-status`.
Upgrade
~~~~~~~
``nova-status upgrade check``
Performs a release-specific readiness check before restarting services with
new code. This command expects to have complete configuration and access
to databases and services within a cell. For example, this check may query
the Nova API database and one or more cell databases. It may also make
requests to other services such as the Placement REST API via the Keystone
service catalog.
**Return Codes**
.. list-table::
:widths: 20 80
:header-rows: 1
* - Return code
- Description
* - 0
- All upgrade readiness checks passed successfully and there is nothing
to do.
* - 1
- At least one check encountered an issue and requires further
investigation. This is considered a warning but the upgrade may be OK.
* - 2
- There was an upgrade status check failure that needs to be
investigated. This should be considered something that stops an
upgrade.
* - 255
- An unexpected error occurred.
**History of Checks**
**15.0.0 (Ocata)**
* Checks are added for cells v2 so ``nova-status upgrade check`` should be
run *after* running the ``nova-manage cell_v2 simple_cell_setup``
command.
* Checks are added for the Placement API such that there is an endpoint in
the Keystone service catalog, the service is running and the check can
make a successful request to the endpoint. The command also checks to
see that there are compute node resource providers checking in with the
Placement service. More information on the Placement service can be found
at: `<https://docs.openstack.org/nova/latest/user/placement.html>`_
**16.0.0 (Pike)**
* Checks for the Placement API are modified to require version 1.4, that
is needed in Pike and further for nova-scheduler to work correctly.
**17.0.0 (Queens)**
* Checks for the Placement API are modified to require version 1.17.
**18.0.0 (Rocky)**
* Checks for the Placement API are modified to require version 1.21.
* Checks that ironic instances have had their embedded flavors migrated to
use custom resource classes.
* Checks for ``nova-osapi_compute`` service versions that are less than 15
across all cell mappings which might cause issues when querying instances
depending on how the **nova-api** service is configured.
See https://bugs.launchpad.net/nova/+bug/1759316 for details.
See Also
========
* OpenStack Nova Docs: `<https://docs.openstack.org/nova/latest/>`_
Bugs
====
* Nova bugs are managed at `Launchpad <https://bugs.launchpad.net/nova>`_