nova/doc
Balazs Gibizer 6f1a1f5e8e Consumer gen support for delete instance allocations
The placement API version 1.28 introduced consumer generation as a way
to make updating allocation safe even if it is done from multiple
places.

This patch changes delete_allocation_for_instance to use PUT
/allocations instead of DELETE /allocations to benefit from the consumer
generation handling.

In this patch the report client will GET the current allocation of the
instance including the consumer generation and then try to PUT an empty
allocation with that generation. If this fails due to a consumer
generation conflict, meaning something modified the allocation of the
instance in between GET and PUT then the report client will raise
AllocationDeleteFailed exception. This will cause that the instance
goes to ERROR state.

This patch only detects a small portion of possible cases when
allocation is modified outside of the delete code path. The rest can
only be detected if nova would cache at least the consumer generation
of the instance.

To be able to put the instance state to ERROR the instance.destroy()
call is moved to the end to of the deletion call path. To keep the
instance.delete.end notification behavior consistent with this move
(e.g. deleted_at field is filled) the notification sending needed to
be moved too.

Blueprint: use-nested-allocation-candidates
Change-Id: I77f34788dd7ab8fdf60d668a4f76452e03cf9888
2018-09-25 11:16:37 +02:00
..
api_samples Merge "Remove deprecated hide_server_address_states option" 2018-09-21 13:58:57 +00:00
ext Replace support matrix ext with common library 2018-07-16 15:04:00 +01:00
notification_samples Transform libvirt.error notification 2018-09-18 07:06:09 +00:00
source Consumer gen support for delete instance allocations 2018-09-25 11:16:37 +02:00
test [doc]remove nova-cert leftover in doc 2018-05-03 17:47:49 +08:00
README.rst Fix the file name of development-environment.rst 2018-06-07 15:26:08 +09:00
requirements.txt Replace support matrix ext with common library 2018-07-16 15:04:00 +01:00

OpenStack Nova Documentation README

Both contributor developer documentation and REST API documentation are sourced here.

Contributor developer docs are built to: https://docs.openstack.org/nova/latest/

API guide docs are built to: https://developer.openstack.org/api-guide/compute/

For more details, see the "Building the Documentation" section of doc/source/contributor/development-environment.rst.