From 9a5c3cd7da76a7340861d552718e7e46640f15be Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Fri, 14 Apr 2017 11:21:17 -0400 Subject: [PATCH] Add release note and update cell install guide for multi-cell limitations As of change If1e03c9343b8cc9c34bd51c2b4d25acdb21131ff, using "nova hypervisor-list" before compute hosts are mapped to a cell will result in an empty list. Our cells v2 install steps mention using 'nova hypervisor-list' after creating a cell and starting compute services to tell when to run the discover_hosts command, but now hypervisor-list won't work until you've run discover_hosts, so it's a catch-22. This change adds a release note to let people writing deployment tools to know about the change in behavior and also updates the install steps to use service-list instead of hypervisor-list, since service-list does not require the compute host to be mapped to the cell first. We are going to need to make a similar change in the OpenStack install guide since that also mentions using 'nova hypervisor-list' before discover_hosts. Change-Id: If2baab40c2e2a3de20e561bba50688d615b002ef Closes-Bug: #1682060 --- doc/source/cells.rst | 3 ++- doc/source/man/nova-manage.rst | 2 +- .../pike-multicell-api-ae4fbebd711165ce.yaml | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/pike-multicell-api-ae4fbebd711165ce.yaml diff --git a/doc/source/cells.rst b/doc/source/cells.rst index c1b572a654..27497a5a89 100644 --- a/doc/source/cells.rst +++ b/doc/source/cells.rst @@ -386,7 +386,8 @@ database yet. This will set up a single cell Nova deployment. configuration file if not specified on the command line. 6. Configure and start your compute hosts. Before step 7, make sure you have - compute hosts in the database by running ``nova hypervisor-list``. + compute hosts in the database by running + ``nova service-list --binary nova-compute``. 7. Run the ``discover_hosts`` command to map compute hosts to the single cell:: diff --git a/doc/source/man/nova-manage.rst b/doc/source/man/nova-manage.rst index 50c0439dd3..afcdd6f4b0 100644 --- a/doc/source/man/nova-manage.rst +++ b/doc/source/man/nova-manage.rst @@ -148,7 +148,7 @@ Nova Cells v2 any hosts which are not currently mapped. If a host is already mapped nothing will be done. You need to re-run this command each time you add more compute hosts to a cell (otherwise the scheduler will never place - instances there). + instances there and the API will not list the new hosts). ``nova-manage cell_v2 list_cells [--verbose]`` diff --git a/releasenotes/notes/pike-multicell-api-ae4fbebd711165ce.yaml b/releasenotes/notes/pike-multicell-api-ae4fbebd711165ce.yaml new file mode 100644 index 0000000000..92ff89f770 --- /dev/null +++ b/releasenotes/notes/pike-multicell-api-ae4fbebd711165ce.yaml @@ -0,0 +1,24 @@ +--- +upgrade: + - | + Parts of the compute REST API are now relying on getting information from + cells via their mappings in the ``nova_api`` database. This is to support + multiple cells. For example, when listing compute hosts or services, all + cells will be iterated in the API and the results will be returned. + + This change can have impacts, however, to deployment tooling that relies on + parts of the API, like listing compute hosts, `before` the compute hosts + are mapped using the ``nova-manage cell_v2 discover_hosts`` command. + + If you were using ``nova hypervisor-list`` after starting new nova-compute + services to tell when to run ``nova-manage cell_v2 discover_hosts``, you + should change your tooling to instead use one of the following commands:: + + nova service-list --binary nova-compute [--host ] + + openstack compute service list --service nova-compute [--host ] + + As a reminder, there is also the + ``[scheduler]/discover_hosts_in_cells_interval`` configuration option which + can be used to automatically discover hosts from the nova-scheduler + service. \ No newline at end of file