808323e0c5
In a new microversion, 1.12, include project_id and user_id in the output of GET /allocations/{consumer_uuid} and add JSON schema to enable PUT to /allocations/{consumer_uuid} using the same dict-based format for request body that is used in the GET response. In later commits a similar format will be used in POST /allocations. This symmetry is general good form and also will make client code a little easier. Since GET /allocation_candiates includes objects which are capable of being PUT to /allocations/{consumer_uuid}, its response body has been updated as well, to change the 'allocation_requests' object to use the dict-based format. Internally to handlers/allocation.py the same method (_set_allocations) is used for every microversion. Any previous data structure is transformed into the dict-ish form. This means that pre-existing tests (like allocation-bad-class.yaml) continue to exercise the problems it was made for, but needs to be pinned to an older microversion, rather than being latest. Info about these changes is added to placement-api-ref, rest_api_version_history and a reno. Change-Id: I49f5680c15413bce27f2abba68b699f3ea95dcdc Implements: bp symmetric-allocations Closes-Bug: #1708204
71 lines
2.0 KiB
PHP
71 lines
2.0 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.
|
|
|
|
.. rest_method:: GET /allocation_candidates
|
|
|
|
Normal Response Codes: 200
|
|
|
|
Error response codes: badRequest(400)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- resources: resources_query_required
|
|
|
|
Response (microversions 1.12 - )
|
|
--------------------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- allocation_requests: allocation_requests
|
|
- provider_summaries: provider_summaries
|
|
- allocations: allocations_by_resource_provider
|
|
- resources: resources
|
|
- capacity: capacity
|
|
- used: used
|
|
|
|
Response Example (microversions 1.12 - )
|
|
----------------------------------------
|
|
|
|
.. literalinclude:: 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:: get-allocation_candidates.json
|
|
:language: javascript
|