summaryrefslogtreecommitdiff
path: root/releasenotes/notes/granular-extra-specs-50b26b8f63717942.yaml
blob: 99e3b99db197c7dbda7b0a77178c2370ae1a2454 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
---
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.