OpenStack Compute (Nova)
Go to file
Matt Riedemann b36c44c449 Handle legacy request spec dict in ComputeTaskManager._cold_migrate
Prior to change I4244f7dd8fe74565180f73684678027067b4506e in Stein,
conductor would pass a legacy dict request spec to compute during
cold migrate / resize and if compute rescheduled it would not pass
the request spec back to conductor, so the _cold_migrate method in
conductor would have to create a new RequestSpec from components
it had available.

As of that change, compute will send the request spec it got back
to conductor and _cold_migrate avoids the RequestSpec.from_components
call.

There are two issues here:

1. Technically if conductor RPC API is pinned to less than 1.13 the
   ComputeTaskAPI.migrate_server method will remove the request spec
   from the call to conductor. So conductor (server-side) can still
   not get a RequestSpec and need to use from_components. As a result
   the TODO in the _cold_migrate method needs to be updated since we
   require an RPC API major version bump to make request spec required.

2. Just because conductor is passing compute a RequestSpec object, if
   compute RPC API versions are pinned to less than 5.1, conductor will
   pass a legacy request spec dict to compute and compute will send that
   back to conductor, so the _cold_migrate method needs to handle getting
   a request spec that is a dict and convert it to an object. A new test
   is added for that case.

Change-Id: I188b7aa9cb220f93e69a68f0c3592b28d41ba5b6
Closes-Bug: #1843090
2019-09-24 14:36:01 -04:00
api-guide/source Allow resizing server with port resource request 2019-09-12 10:35:22 -04:00
api-ref/source api-ref: fix server topology "host_numa_node" field param name 2019-09-06 17:31:42 -04:00
devstack Merge "Find instance in another cell during floating IP re-association" 2019-09-13 15:19:55 +00:00
doc Merge "Add evacuate vs rebuild contributor doc" 2019-09-24 16:51:23 +00:00
etc/nova Remove an unused file and a related description 2019-09-13 10:33:32 +09:00
gate Add cold migrate and resize to nova-grenade-multinode 2019-08-30 15:35:46 -04:00
nova Handle legacy request spec dict in ComputeTaskManager._cold_migrate 2019-09-24 14:36:01 -04:00
playbooks Merge "Convert nova-lvm job to zuul v3" 2019-09-04 20:08:05 +00:00
releasenotes Merge "libvirt: Enable driver configuring PMEM namespaces" 2019-09-21 03:40:33 +00:00
roles/run-post-test-hook Convert nova-next to a zuul v3 job 2019-07-23 11:32:35 -04: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 "Modernize nova-lvm job" 2019-09-04 20:43:02 +00:00
CONTRIBUTING.rst Update links in documents 2018-01-12 17:05:11 +08:00
HACKING.rst Remove descriptions of nonexistent hacking rules 2019-08-26 14:55:51 +09:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MAINTAINERS Fix broken URLs 2017-09-07 15:42:31 +02:00
README.rst Update api-ref location 2019-07-22 19:17:28 +02:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Add librsvg2* to bindep 2019-09-18 17:25:49 -04:00
lower-constraints.txt Merge "Tune up db.instance_get_all_uuids_by_hosts" 2019-09-23 19:58:43 +00:00
requirements.txt Merge "Tune up db.instance_get_all_uuids_by_hosts" 2019-09-23 19:58:43 +00:00
setup.cfg Rename 'nova.common.config' module to 'nova.middleware' 2019-08-16 00:53:03 +01:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Remove an unused file and a related description 2019-09-13 10:33:32 +09:00
tox.ini PDF documentation build 2019-09-04 17:34:26 +09:00

README.rst

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: