OpenStack Compute (Nova)
Go to file
Matt Riedemann b8435d6001 Delete allocations even if _confirm_resize raises
When we are confirming a resize, the guest is on the dest
host and the instance host/node values in the database
are pointing at the dest host, so the _confirm_resize method
on the source is really best effort. If something fails, we
should not leak allocations in placement for the source compute
node resource provider since the instance is not actually
consuming the source node provider resources.

This change refactors the error handling around the _confirm_resize
call so the big nesting for _error_out_instance_on_exception is
moved to confirm_resize and then a try/finally is added around
_confirm_resize so we can be sure to try and cleanup the allocations
even if _confirm_resize fails in some obscure way. If _confirm_resize
does fail, the error gets re-raised along with logging a traceback
and hint about how to correct the instance state in the DB by hard
rebooting the server on the dest host.

Change-Id: I29c5f491ec20a71283190a1599e7732541de736f
Closes-Bug: #1821594
(cherry picked from commit 03a6d26691)
(cherry picked from commit 5f515060f6)
(cherry picked from commit 37ac54a42e)
2019-05-29 00:50:29 +00:00
api-guide/source Merge "Update links in documents" 2018-02-08 01:29:29 +00:00
api-ref/source Add policy rule to block image-backed servers with 0 root disk flavor 2018-06-18 13:51:41 -04:00
contrib trivial: Remove "vif" script 2017-08-07 16:00:10 +01:00
devstack Skip more rebuild tests for cells v1 job 2018-09-26 09:07:30 -04:00
doc Add description of custom resource classes 2019-03-06 23:37:32 +00:00
etc/nova Move remaining uses of parted to privsep. 2018-01-24 22:26:36 +00:00
gate move gate hooks to gate/ 2017-01-04 11:05:16 +00:00
nova Delete allocations even if _confirm_resize raises 2019-05-29 00:50:29 +00:00
placement-api-ref/source Handle CannotDeleteParentResourceProvider to 409 Conflict 2018-06-28 13:50:18 +00:00
playbooks/legacy Fix nova-grenade-live-migration run book for opendev migration 2019-04-26 15:17:21 -04:00
releasenotes libvirt: Add workaround to cleanup instance dir when using rbd 2019-03-13 12:10:41 +00:00
tools Finish stestr migration 2017-11-24 16:51:12 -05:00
.coveragerc Remove nova/openstack/* from .coveragerc 2016-10-12 16:20:49 -04:00
.gitignore Fix test runner config issues with os-testr 1.0.0 2017-09-13 17:11:57 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:46:53 +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 "Define irrelevant-files for tempest-full-py3 job" into stable/queens 2019-05-24 10:23:44 +00:00
CONTRIBUTING.rst Update links in documents 2018-01-12 17:05:11 +08:00
HACKING.rst doc: fix link to creating unit tests in contributor guide 2017-11-14 11:22:43 -05: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 doc: Rework README to reflect new doc URLs 2017-08-03 16:06:08 -04:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Bindep does not catch missing libpcre3-dev on Ubuntu 2018-02-13 16:53:16 -05:00
requirements.txt Updated from global requirements 2018-02-01 07:20:35 +00:00
setup.cfg Deprecate the IronicHostManager 2017-11-28 15:23:48 -05:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Updated from global requirements 2018-01-29 00:21:52 +00:00
tests-py3.txt Skip unit tests for SSL + py3 2017-03-02 14:30:16 +08:00
tox.ini tox: Don't write byte code (maybe) 2019-02-14 10:44:43 +00: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: