9ef4d7662e
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
27 lines
1.5 KiB
YAML
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.
|