nova/releasenotes/notes/placement-forbidden-traits-ace037856aa29a09.yaml
Chris Dent 4e07d81260 [placement] Support forbidden traits in API
In a new microversion (1.22) expose support for processing
forbidden traits in GET /resource_providers and GET
/allocation_candidates. A forbidden trait is expressed as
part of the required parameter with a "!" prefix:

    required=CUSTOM_FAST,!CUSTOM_SLOW

This change uses db and query processing code adjustments
already present in the code but guarded by a flag. If the
currently requested microversion matches 1.22 or beyond
that flag is True, otherwise False.

Reno, api-ref update and api history update are included.
Because this microversion changes the value of an existing
parameter it was unclear how to best express that in the
api-ref. In this case existing parameter references were
annotated.

Partially implements blueprint placement-forbidden-traits

Change-Id: I43e92bc5f97db7a2b09e64c6cb953c07d0561e63
2018-04-13 19:24:08 +01:00

10 lines
447 B
YAML

---
features:
- |
Placement microversion '1.22' adds support for expressing traits which are
forbidden when filtering ``GET /resource_providers`` or ``GET
/allocation_candidates``. A forbidden trait is a properly formatted trait
in the existing ``required`` parameter, prefixed by a ``!``. For example
``required=!STORAGE_DISK_SSD`` asks that the results not include any
resource providers that provide solid state disk.