placement/api-ref/source/allocation_candidates.inc
Tetsuro Nakamura 8395e3f099 Support same_subtree queryparam
A new same_subtree query parameter will be accepted. The value is
a comma-separated list of request group suffix strings $S. Each must
exactly match a suffix on a granular group somewhere else in the
request. Importantly, the identified request groups need not have
a resources$S.

If this is provided, at least one of the resource providers satisfying
the specified request group must be an ancestor of the rest.

The same_subtree query parameter can be repeated and each repeat group
is treated independently.

Co-Authored-By: Chris Dent <cdent@anticdent.org>
Change-Id: I7fdeac24606359d37f1a7405d22c5797840e1a9e
Story: 2005575
Task: 30784
2019-07-09 07:21:53 +00:00

109 lines
3.6 KiB
PHP

=====================
Allocation candidates
=====================
.. note:: Allocation candidates API requests are availiable starting from version 1.10.
List allocation candidates
==========================
Returns a dictionary representing a collection of allocation requests
and resource provider summaries. Each allocation request has
information to form a ``PUT /allocations/{consumer_uuid}`` request to claim
resources against a related set of resource providers. Additional parameters
might be required, see `Update allocations`_. As several allocation
requests are available it's necessary to select one. To make a
decision, resource provider summaries are provided with the
inventory/capacity information. For example, this information is used by
nova-scheduler's FilterScheduler to make decisions about on which compute host
to build a server.
You can also find additional case studies of the request parameters in the
`Modeling with Provider Trees`_ document.
.. rest_method:: GET /allocation_candidates
Normal Response Codes: 200
Error response codes: badRequest(400)
Request
-------
.. rest_parameters:: parameters.yaml
- resources: resources_query_ac
- required: required_traits_unnumbered
- member_of: allocation_candidates_member_of
- in_tree: allocation_candidates_in_tree
- resourcesN: resources_query_granular
- requiredN: required_traits_granular
- member_ofN: allocation_candidates_member_of_granular
- in_treeN: allocation_candidates_in_tree_granular
- group_policy: allocation_candidates_group_policy
- limit: allocation_candidates_limit
- root_required: allocation_candidates_root_required
- same_subtree: allocation_candidates_same_subtree
Response (microversions 1.12 - )
--------------------------------
.. rest_parameters:: parameters.yaml
- allocation_requests: allocation_requests
- provider_summaries: provider_summaries_1_12
- allocations: allocations_by_resource_provider
- resources: resources
- capacity: capacity
- used: used
- traits: traits_1_17
- parent_provider_uuid: resource_provider_parent_provider_uuid_response_1_29
- root_provider_uuid: resource_provider_root_provider_uuid_1_29
- mappings: mappings
Response Example (microversions 1.34 - )
----------------------------------------
.. literalinclude:: ./samples/allocation_candidates/get-allocation_candidates-1.34.json
:language: javascript
Response Example (microversions 1.29 - 1.33)
--------------------------------------------
.. literalinclude:: ./samples/allocation_candidates/get-allocation_candidates-1.29.json
:language: javascript
Response Example (microversions 1.17 - 1.28)
--------------------------------------------
.. literalinclude:: ./samples/allocation_candidates/get-allocation_candidates-1.17.json
:language: javascript
Response Example (microversions 1.12 - 1.16)
--------------------------------------------
.. literalinclude:: ./samples/allocation_candidates/get-allocation_candidates-1.12.json
:language: javascript
Response (microversions 1.10 - 1.11)
------------------------------------
.. rest_parameters:: parameters.yaml
- allocation_requests: allocation_requests
- provider_summaries: provider_summaries
- allocations: allocations_array
- resource_provider: resource_provider_object
- uuid: resource_provider_uuid
- resources: resources
- capacity: capacity
- used: used
Response Example (microversions 1.10 - 1.11)
--------------------------------------------
.. literalinclude:: ./samples/allocation_candidates/get-allocation_candidates.json
:language: javascript
.. _`Modeling with Provider Trees`: https://docs.openstack.org/placement/latest/usage/provider-tree.html