OpenStack Compute (Nova)
Go to file
melanie witt 812ce632d5 Raise InstanceMappingNotFound if StaleDataError is encountered
We have a race where if a user issues a delete request while an
instance is in the middle of booting, we could fail to update the
'queued_for_delete' field on the instance mapping with:

  sqlalchemy.orm.exc.StaleDataError: UPDATE statement on table
  'instance_mappings' expected to update 1 row(s); 0 were matched.

This happens if we've retrieved the instance mapping record from the
database and then it gets deleted by nova-conductor before we attempt
to save() it.

This handles the situation by adding try-except around the update call
to catch StaleDataError and raise InstanceMappingNotFound instead,
which the caller does know how to handle.

Closes-Bug: #1882608

Change-Id: I2cdcad7226312ed81f4242c8d9ac919715524b48
(cherry picked from commit 16df22dcd5)
2021-02-23 22:44:04 +00:00
api-guide/source [stable-only] fix lower-constraints and disable qos resize 2020-12-15 20:56:14 +01:00
api-ref/source compute: Validate a BDMs disk_bus when provided 2020-08-03 21:31:25 +01:00
devstack [stable-only] fix lower-constraints and disable qos resize 2020-12-15 20:56:14 +01:00
doc Merge "Add upgrade check about old computes" into stable/ussuri 2021-02-17 15:45:09 +00:00
etc/nova Allow versioned discovery unauthenticated 2020-04-03 21:24:28 +00:00
gate test_evacuate.sh: Stop using libvirt-bin 2020-09-22 11:44:42 +01:00
nova Raise InstanceMappingNotFound if StaleDataError is encountered 2021-02-23 22:44:04 +00:00
playbooks Enable cross-cell resize in the nova-multi-cell job 2019-12-23 10:10:57 -05:00
releasenotes Merge "Set migrate_data.vifs only when using multiple port bindings" into stable/ussuri 2021-02-17 15:45:45 +00:00
roles Enable cross-cell resize in the nova-multi-cell job 2019-12-23 10:10:57 -05:00
tools tools: Allow check-cherry-picks.sh to be disabled by an env var 2021-02-17 15:50:45 +00: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 Update .gitreview for stable/ussuri 2020-04-23 21:37:31 +00:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.pre-commit-config.yaml Switch to hacking 2.x 2020-01-17 11:30:40 +00:00
.stestr.conf Finish stestr migration 2017-11-24 16:51:12 -05:00
.zuul.yaml zuul: remove legacy-tempest-dsvm-neutron-dvr-multinode-full 2020-07-17 09:44:08 +02:00
CONTRIBUTING.rst [Community goal] Update contributor documentation 2020-03-25 12:01:37 +00:00
HACKING.rst Merge "Make it easier to run a selection of tests relevant to ongoing work" 2019-11-22 20:58:18 +00: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 Start README.rst with a better title 2019-11-19 17:29:28 +01:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Added openssh-client into bindep 2019-10-23 07:21:23 +00:00
lower-constraints.txt [stable-only] fix lower-constraints and disable qos resize 2020-12-15 20:56:14 +01:00
requirements.txt [stable-only] fix lower-constraints and disable qos resize 2020-12-15 20:56:14 +01:00
setup.cfg api: Add support for new cyborg extra specs 2020-04-08 13:19:39 +00:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt [stable-only] fix lower-constraints and disable qos resize 2020-12-15 20:56:14 +01:00
tox.ini tools: Allow check-cherry-picks.sh to be disabled by an env var 2021-02-17 15:50:45 +00:00

README.rst

OpenStack Nova

image

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: