Merge "[placement] Add api-ref for aggregates"
This commit is contained in:
commit
6a7f1023c4
108
placement-api-ref/source/aggregates.inc
Normal file
108
placement-api-ref/source/aggregates.inc
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
============================
|
||||||
|
Resource provider aggregates
|
||||||
|
============================
|
||||||
|
|
||||||
|
Each resource provider can be associated with one or more other
|
||||||
|
resource providers in groups called aggregates. API calls in this
|
||||||
|
section are used to list and update the aggregates that are associated
|
||||||
|
with one resource provider.
|
||||||
|
|
||||||
|
.. note:: Placement aggregates are *not* the same as Nova host
|
||||||
|
aggregates and should not be considered equivalent.
|
||||||
|
|
||||||
|
The primary differences between Nova's host aggregates and placement
|
||||||
|
aggregates are the following:
|
||||||
|
|
||||||
|
* In Nova, a host aggregate associates a *nova-compute service* with
|
||||||
|
other nova-compute services. Placement aggregates are not specific
|
||||||
|
to a nova-compute service and are, in fact, not
|
||||||
|
compute-specific at all. A resource provider in the Placement API is
|
||||||
|
generic, and placement aggregates are simply groups of generic
|
||||||
|
resource providers. This is an important difference especially for
|
||||||
|
Ironic, which when used with Nova, has many Ironic baremetal nodes
|
||||||
|
attached to a single nova-compute service. In the Placement API,
|
||||||
|
each Ironic baremetal node is its own resource provider and can
|
||||||
|
therefore be associated to other Ironic baremetal nodes via a
|
||||||
|
placement aggregate association.
|
||||||
|
* In Nova, a host aggregate may have *metadata* key/value pairs
|
||||||
|
attached to it. All nova-compute services associated with a Nova
|
||||||
|
host aggregate share the same metadata. Placement aggregates have no
|
||||||
|
such metadata because placement aggregates *only* represent the
|
||||||
|
grouping of resource providers. In the Placement API, resource
|
||||||
|
providers are individually decorated with *traits* that provide
|
||||||
|
qualitative information about the resource provider.
|
||||||
|
* In Nova, a host aggregate dictates the *availability zone* within
|
||||||
|
which one or more nova-compute services reside. Placement aggregates
|
||||||
|
have no concept of an availability zone.
|
||||||
|
|
||||||
|
.. note:: Aggregates API requests are availiable starting from version 1.1.
|
||||||
|
|
||||||
|
List resource provider aggregates
|
||||||
|
=================================
|
||||||
|
|
||||||
|
.. rest_method:: GET /resource_providers/{uuid}/aggregates
|
||||||
|
|
||||||
|
Return a list of aggregates associated with the resource provider
|
||||||
|
identified by `{uuid}`.
|
||||||
|
|
||||||
|
Normal Response Codes: 200
|
||||||
|
|
||||||
|
Error response codes: itemNotFound(404)
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- uuid: resource_provider_uuid_path
|
||||||
|
|
||||||
|
Response
|
||||||
|
--------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- aggregates: aggregates
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: get-aggregates.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Update resource provider aggregates
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Associate a list of aggregates with the resource provider identified by `{uuid}`.
|
||||||
|
|
||||||
|
.. rest_method:: PUT /resource_providers/{uuid}/aggregates
|
||||||
|
|
||||||
|
Normal Response Codes: 200
|
||||||
|
|
||||||
|
Error response codes: badRequest(400), itemNotFound(404)
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- uuid: resource_provider_uuid_path
|
||||||
|
- aggregates: aggregates
|
||||||
|
|
||||||
|
Request example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: update-aggregates-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response
|
||||||
|
--------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- aggregates: aggregates
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: update-aggregates.json
|
||||||
|
:language: javascript
|
6
placement-api-ref/source/get-aggregates.json
Normal file
6
placement-api-ref/source/get-aggregates.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"aggregates": [
|
||||||
|
"42896e0d-205d-4fe3-bd1e-100924931787",
|
||||||
|
"5e08ea53-c4c6-448e-9334-ac4953de3cfa"
|
||||||
|
]
|
||||||
|
}
|
@ -19,3 +19,4 @@ Openstack Placement API concepts, please refer to the
|
|||||||
.. include:: resource_class.inc
|
.. include:: resource_class.inc
|
||||||
.. include:: inventories.inc
|
.. include:: inventories.inc
|
||||||
.. include:: inventory.inc
|
.. include:: inventory.inc
|
||||||
|
.. include:: aggregates.inc
|
||||||
|
@ -43,6 +43,12 @@ resources_query:
|
|||||||
resources=VCPU:4,DISK_GB:64,MEMORY_MB:2048
|
resources=VCPU:4,DISK_GB:64,MEMORY_MB:2048
|
||||||
|
|
||||||
# variables in body
|
# variables in body
|
||||||
|
aggregates:
|
||||||
|
type: array
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
description: >
|
||||||
|
A list of aggregate uuids.
|
||||||
allocation_ratio: &allocation_ratio
|
allocation_ratio: &allocation_ratio
|
||||||
type: float
|
type: float
|
||||||
in: body
|
in: body
|
||||||
|
4
placement-api-ref/source/update-aggregates-request.json
Normal file
4
placement-api-ref/source/update-aggregates-request.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[
|
||||||
|
"42896e0d-205d-4fe3-bd1e-100924931787",
|
||||||
|
"5e08ea53-c4c6-448e-9334-ac4953de3cfa"
|
||||||
|
]
|
6
placement-api-ref/source/update-aggregates.json
Normal file
6
placement-api-ref/source/update-aggregates.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"aggregates": [
|
||||||
|
"42896e0d-205d-4fe3-bd1e-100924931787",
|
||||||
|
"5e08ea53-c4c6-448e-9334-ac4953de3cfa"
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user