nova/releasenotes/notes/granular-extra-specs-50b26b8f63717942.yaml
Eric Fried 9ef4d7662e Granular requests to get_allocation_candidates
nova.scheduler.utils.ResourceRequest now has a to_querystring method
that produces a querystring in the format expected by the GET
/allocation_candidates API.  The report client now uses this method to
invoke said API.

Change-Id: I496e8d64907fdcb0e2da255725aed1fc529725f2
blueprint: granular-resource-requests
2018-05-18 21:43:02 +00:00

27 lines
1.5 KiB
YAML

---
features:
- |
Added support for granular resource and traits requests to the scheduler.
A flavor extra spec is extended to support specifying numbered groupings of
resources and required/forbidden traits. A ``resources`` key with a
positive integer suffix (e.g. ``resources42:VCPU``) will be logically
associated with ``trait`` keys with the same suffix (e.g.
``trait42:HW_CPU_X86_AVX``). The resources and required/forbidden traits
in that group will be satisfied by the same resource provider on the host
selected by the scheduler. When more than one numbered grouping is
supplied, the ``group_policy`` extra spec is required to indicate how the
groups should interact. With ``group_policy=none``, separate groupings -
numbered or unnumbered - may or may not be satisfied by the same provider.
With ``group_policy=isolate``, numbered groups are guaranteed to be
satisfied by *different* providers - though there may still be overlap with
the unnumbered group.
``trait`` keys for a given group are optional. That is, you may specify
``resources42:XXX`` without a corresponding ``trait42:YYY``. However, the
reverse (specifying ``trait42:YYY`` without ``resources42:XXX``) will
result in an error.
The semantic of the (unnumbered) ``resources`` and ``trait`` keys is
unchanged: the resources and traits specified thereby may be satisfied by
any provider on the same host or associated via aggregate.