53ca096750
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
11 lines
528 B
YAML
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.
|