nova/releasenotes/notes/leaking_migration_allocations_in_placement-bd0a6f2a30e2e3d2.yaml
Balazs Gibizer 53ca096750 consumer gen: move_allocations
This patch renames the set_and_clear_allocations function in the
scheduler report client to move_allocations and adds handling of
consumer generation conflict for it. This call now moves everything from
one consumer to another and raises AllocationMoveFailed to the caller if
the move fails due to consumer generation conflict.

When migration or resize fails to move the source host allocation to the
migration_uuid then the API returns HTTP 409 and the migration is aborted.

If reverting a migration, a resize, or a resize to same host fails to move
the source host allocation back to the instance_uuid due consumer generation
conflict the instance will be put into ERROR state. The instance still has two
allocations in this state and deleting the instance only deletes the one that
is held by the instance_uuid. This patch logs an ERROR describing that in this
case the allocation held by the migration_uuid is leaked.

Blueprint: use-nested-allocation-candidates
Change-Id: Ie991d4b53e9bb5e7ec26da99219178ab7695abf6
2018-09-25 15:56:45 +00:00

11 lines
528 B
YAML

---
issues:
- |
Nova leaks resource allocations in placement during
``POST /servers/{server_id}/action (revertResize Action)`` if the
allocation held by the migration_uuid is modified in parallel with the
revert operation. Nova will log an ERROR and will put the server into ERROR
state but will not delete the migration allocation. We assume that this can
only happen if somebody outside of nova is actively changing the migration
allocation in placement. Therefore it is not considered as a bug.