OpenStack Compute (Nova)
Go to file
Matt Riedemann 1957f4d5a2 Use volume shared_targets to lock during attach/detach
The Cinder 3.48 API provides a shared_targets and service_uuid
field in the volume resource which tells the caller whether or
not it should lock operations on that volume.

This change adds that logic to the DriverVolumeBlockDevice attach
and detach flows by first trying to get the volume at the 3.48
microversion and if that's not available, it simply falls back
to get the volume the same as before.

If 3.48 is available and the volume storage backend uses shared
targets, we synchronize the attach/detach operations using the
volume service_uuid, which is based on the storage backend and
is also configurable by the deployer on the Cinder side.

This is a nice to have protection for "normal" volumes but
is really needed for multiattach volumes to be detached safely.

See Cinder blueprint add-shared-targets-flag-to-volume for details.

Part of blueprint multi-attach-volume

Depends-On: I3c07cd8458d55535a71626ffaa8ca50deb3ca3dd

Change-Id: I5e96602184242fb9017c0434b445a3875f3b149a
2018-01-04 14:30:27 -05:00
api-guide/source Fix the bug report link of API Guide 2017-12-14 20:38:16 +08:00
api-ref/source api-ref: Fix incorrect parameter name 2017-12-26 18:44:38 +09:00
contrib trivial: Remove "vif" script 2017-08-07 16:00:10 +01:00
devstack Blacklist test_extend_attached_volume from cells v1 job 2017-10-05 17:31:05 -04:00
doc Merge "Add support for listing hosts in cellv2" 2018-01-03 23:19:40 +00:00
etc/nova Remove the unused request_id filter from api-paste.ini 2017-12-06 17:17:49 +08:00
gate move gate hooks to gate/ 2017-01-04 11:05:16 +00:00
nova Use volume shared_targets to lock during attach/detach 2018-01-04 14:30:27 -05:00
placement-api-ref/source [placement] Add x-openstack-request-id in API ref 2017-12-18 06:02:44 +00:00
releasenotes Merge "Add support for listing hosts in cellv2" 2018-01-03 23:19:40 +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 Add .gitreview config file for gerrit. 2011-10-24 15:07:19 -04: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
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00: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 Update bindep.txt for doc builds 2017-11-21 21:01:09 +01:00
requirements.txt Updated from global requirements 2017-12-22 03:04:00 +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 Finish stestr migration 2017-11-24 16:51:12 -05:00
tests-py3.txt Skip unit tests for SSL + py3 2017-03-02 14:30:16 +08:00
tox.ini Finish stestr migration 2017-11-24 16:51:12 -05: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: