Merge "Add node traits to API reference"
This commit is contained in:
@@ -11,7 +11,7 @@ fi
|
|||||||
OS_AUTH_TOKEN=$(openstack token issue | grep ' id ' | awk '{print $4}')
|
OS_AUTH_TOKEN=$(openstack token issue | grep ' id ' | awk '{print $4}')
|
||||||
IRONIC_URL="http://127.0.0.1:6385"
|
IRONIC_URL="http://127.0.0.1:6385"
|
||||||
|
|
||||||
IRONIC_API_VERSION="1.34"
|
IRONIC_API_VERSION="1.37"
|
||||||
|
|
||||||
export OS_AUTH_TOKEN IRONIC_URL
|
export OS_AUTH_TOKEN IRONIC_URL
|
||||||
|
|
||||||
@@ -169,6 +169,10 @@ GET v1/nodes/$NID > node-show-response.json
|
|||||||
# Put the Node in maintenance mode, then continue doing everything else
|
# Put the Node in maintenance mode, then continue doing everything else
|
||||||
PUT v1/nodes/$NID/maintenance node-maintenance-request.json
|
PUT v1/nodes/$NID/maintenance node-maintenance-request.json
|
||||||
|
|
||||||
|
# Node traits
|
||||||
|
PUT v1/nodes/$NID/traits node-set-traits-request.json
|
||||||
|
GET v1/nodes/$NID/traits > node-traits-list-response.json
|
||||||
|
|
||||||
############
|
############
|
||||||
# PORTGROUPS
|
# PORTGROUPS
|
||||||
|
|
||||||
|
|||||||
123
api-ref/source/baremetal-api-v1-nodes-traits.inc
Normal file
123
api-ref/source/baremetal-api-v1-nodes-traits.inc
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
===================
|
||||||
|
Node Traits (nodes)
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. versionadded:: 1.37
|
||||||
|
|
||||||
|
Node traits are used for scheduling in the Compute service, using qualitative
|
||||||
|
attributes to influence the placement of instances to bare metal compute nodes.
|
||||||
|
Traits specified for a node in the Bare Metal service will be registered on the
|
||||||
|
corresponding resource provider in the Compute service's placement API.
|
||||||
|
|
||||||
|
List Traits of a Node
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/nodes/{node_ident}/traits
|
||||||
|
|
||||||
|
Return a list of traits for the node.
|
||||||
|
|
||||||
|
Normal response code: 200
|
||||||
|
|
||||||
|
Error codes: 400,401,403,404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
|
||||||
|
Response
|
||||||
|
--------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- traits: n_traits
|
||||||
|
|
||||||
|
**Example list of traits for the node:**
|
||||||
|
|
||||||
|
.. literalinclude:: samples/node-traits-list-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Set all traits of a node
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v1/nodes/{node_ident}/traits
|
||||||
|
|
||||||
|
Set all traits of a node, replacing any existing traits.
|
||||||
|
|
||||||
|
Normal response code: 204
|
||||||
|
|
||||||
|
Error codes: 400,401,403,404,409
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
- traits: n_traits
|
||||||
|
|
||||||
|
**Example request to set all traits of a Node:**
|
||||||
|
|
||||||
|
.. literalinclude:: samples/node-set-traits-request.json
|
||||||
|
|
||||||
|
|
||||||
|
Add a trait to a node
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v1/nodes/{node_ident}/traits/{trait}
|
||||||
|
|
||||||
|
Add a single trait to a node.
|
||||||
|
|
||||||
|
Normal response code: 204
|
||||||
|
|
||||||
|
Error codes: 400,401,403,404,409
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
- trait: trait
|
||||||
|
|
||||||
|
|
||||||
|
Remove all traits from a node
|
||||||
|
=============================
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/nodes/{node_ident}/traits
|
||||||
|
|
||||||
|
Normal response code: 204
|
||||||
|
|
||||||
|
Error codes: 400,401,403,404,409
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
|
||||||
|
|
||||||
|
Remove a trait from a node
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Remove a single trait from a node.
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/nodes/{node_ident}/traits/{trait}
|
||||||
|
|
||||||
|
Normal response code: 204
|
||||||
|
|
||||||
|
Error codes: 400,401,403,404,409
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
- trait: trait
|
||||||
@@ -111,7 +111,7 @@ and any defaults added for non-specified fields. Most fields default to "null"
|
|||||||
or "".
|
or "".
|
||||||
|
|
||||||
The list and example below are representative of the response as of API
|
The list and example below are representative of the response as of API
|
||||||
microversion 1.33.
|
microversion 1.37.
|
||||||
|
|
||||||
.. rest_parameters:: parameters.yaml
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
@@ -151,6 +151,7 @@ microversion 1.33.
|
|||||||
- power_interface: power_interface
|
- power_interface: power_interface
|
||||||
- raid_interface: raid_interface
|
- raid_interface: raid_interface
|
||||||
- storage_interface: storage_interface
|
- storage_interface: storage_interface
|
||||||
|
- traits: n_traits
|
||||||
- vendor_interface: vendor_interface
|
- vendor_interface: vendor_interface
|
||||||
- volume: n_volume
|
- volume: n_volume
|
||||||
|
|
||||||
@@ -239,6 +240,9 @@ possible by passing in flags with the request.
|
|||||||
This method is particularly useful to locate the Node associated to a given
|
This method is particularly useful to locate the Node associated to a given
|
||||||
Nova instance, eg. with a request to ``v1/nodes/detail?instance_uuid={NOVA INSTANCE UUID}``
|
Nova instance, eg. with a request to ``v1/nodes/detail?instance_uuid={NOVA INSTANCE UUID}``
|
||||||
|
|
||||||
|
.. versionadded:: 1.37
|
||||||
|
Introduced the ``traits`` field.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
|
|
||||||
.. TODO: add error codes
|
.. TODO: add error codes
|
||||||
@@ -300,6 +304,7 @@ Response
|
|||||||
- power_interface: power_interface
|
- power_interface: power_interface
|
||||||
- raid_interface: raid_interface
|
- raid_interface: raid_interface
|
||||||
- storage_interface: storage_interface
|
- storage_interface: storage_interface
|
||||||
|
- traits: n_traits
|
||||||
- vendor_interface: vendor_interface
|
- vendor_interface: vendor_interface
|
||||||
- volume: n_volume
|
- volume: n_volume
|
||||||
|
|
||||||
@@ -318,6 +323,9 @@ Shows details for a node. By default, this will return the full representation
|
|||||||
of the resource; an optional ``fields`` parameter can be supplied to return
|
of the resource; an optional ``fields`` parameter can be supplied to return
|
||||||
only the specified set.
|
only the specified set.
|
||||||
|
|
||||||
|
.. versionadded:: 1.37
|
||||||
|
Introduced the ``traits`` field.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
|
|
||||||
.. TODO: add error codes
|
.. TODO: add error codes
|
||||||
@@ -371,6 +379,7 @@ Response
|
|||||||
- power_interface: power_interface
|
- power_interface: power_interface
|
||||||
- raid_interface: raid_interface
|
- raid_interface: raid_interface
|
||||||
- storage_interface: storage_interface
|
- storage_interface: storage_interface
|
||||||
|
- traits: n_traits
|
||||||
- vendor_interface: vendor_interface
|
- vendor_interface: vendor_interface
|
||||||
- volume: n_volume
|
- volume: n_volume
|
||||||
|
|
||||||
@@ -452,6 +461,7 @@ Response
|
|||||||
- power_interface: power_interface
|
- power_interface: power_interface
|
||||||
- raid_interface: raid_interface
|
- raid_interface: raid_interface
|
||||||
- storage_interface: storage_interface
|
- storage_interface: storage_interface
|
||||||
|
- traits: n_traits
|
||||||
- vendor_interface: vendor_interface
|
- vendor_interface: vendor_interface
|
||||||
- volume: n_volume
|
- volume: n_volume
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
.. include:: baremetal-api-v1-nodes.inc
|
.. include:: baremetal-api-v1-nodes.inc
|
||||||
.. include:: baremetal-api-v1-node-management.inc
|
.. include:: baremetal-api-v1-node-management.inc
|
||||||
.. include:: baremetal-api-v1-node-passthru.inc
|
.. include:: baremetal-api-v1-node-passthru.inc
|
||||||
|
.. include:: baremetal-api-v1-nodes-traits.inc
|
||||||
.. include:: baremetal-api-v1-nodes-vifs.inc
|
.. include:: baremetal-api-v1-nodes-vifs.inc
|
||||||
.. include:: baremetal-api-v1-portgroups.inc
|
.. include:: baremetal-api-v1-portgroups.inc
|
||||||
.. include:: baremetal-api-v1-nodes-portgroups.inc
|
.. include:: baremetal-api-v1-nodes-portgroups.inc
|
||||||
|
|||||||
@@ -74,6 +74,12 @@ portgroup_ident:
|
|||||||
in: path
|
in: path
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
trait:
|
||||||
|
description: |
|
||||||
|
A single trait for this node.
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
volume_connector_id:
|
volume_connector_id:
|
||||||
description: |
|
description: |
|
||||||
The UUID of the Volume connector.
|
The UUID of the Volume connector.
|
||||||
@@ -701,6 +707,12 @@ n_states:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: array
|
type: array
|
||||||
|
n_traits:
|
||||||
|
description: |
|
||||||
|
List of traits for this node.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: array
|
||||||
n_vifs:
|
n_vifs:
|
||||||
description: |
|
description: |
|
||||||
VIFs attached to this node.
|
VIFs attached to this node.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
],
|
],
|
||||||
"min_version": "1.1",
|
"min_version": "1.1",
|
||||||
"status": "CURRENT",
|
"status": "CURRENT",
|
||||||
"version": "1.33"
|
"version": "1.37"
|
||||||
},
|
},
|
||||||
"description": "Ironic is an OpenStack project which aims to provision baremetal machines.",
|
"description": "Ironic is an OpenStack project which aims to provision baremetal machines.",
|
||||||
"name": "OpenStack Ironic API",
|
"name": "OpenStack Ironic API",
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
],
|
],
|
||||||
"min_version": "1.1",
|
"min_version": "1.1",
|
||||||
"status": "CURRENT",
|
"status": "CURRENT",
|
||||||
"version": "1.33"
|
"version": "1.37"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@
|
|||||||
"target_power_state": null,
|
"target_power_state": null,
|
||||||
"target_provision_state": null,
|
"target_provision_state": null,
|
||||||
"target_raid_config": {},
|
"target_raid_config": {},
|
||||||
|
"traits": [],
|
||||||
"updated_at": null,
|
"updated_at": null,
|
||||||
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"vendor_interface": null,
|
"vendor_interface": null,
|
||||||
|
|||||||
6
api-ref/source/samples/node-set-traits-request.json
Normal file
6
api-ref/source/samples/node-set-traits-request.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"traits": [
|
||||||
|
"CUSTOM_TRAIT1",
|
||||||
|
"HW_CPU_X86_VMX"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -79,6 +79,7 @@
|
|||||||
"target_power_state": null,
|
"target_power_state": null,
|
||||||
"target_provision_state": null,
|
"target_provision_state": null,
|
||||||
"target_raid_config": {},
|
"target_raid_config": {},
|
||||||
|
"traits": [],
|
||||||
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
||||||
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"vendor_interface": null,
|
"vendor_interface": null,
|
||||||
|
|||||||
6
api-ref/source/samples/node-traits-list-response.json
Normal file
6
api-ref/source/samples/node-traits-list-response.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"traits": [
|
||||||
|
"CUSTOM_TRAIT1",
|
||||||
|
"HW_CPU_X86_VMX"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -81,6 +81,10 @@
|
|||||||
"target_power_state": null,
|
"target_power_state": null,
|
||||||
"target_provision_state": null,
|
"target_provision_state": null,
|
||||||
"target_raid_config": {},
|
"target_raid_config": {},
|
||||||
|
"traits": [
|
||||||
|
"CUSTOM_TRAIT1",
|
||||||
|
"HW_CPU_X86_VMX"
|
||||||
|
],
|
||||||
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
||||||
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"vendor_interface": null,
|
"vendor_interface": null,
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
"target_power_state": null,
|
"target_power_state": null,
|
||||||
"target_provision_state": null,
|
"target_provision_state": null,
|
||||||
"target_raid_config": {},
|
"target_raid_config": {},
|
||||||
|
"traits": [],
|
||||||
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
||||||
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"vendor_interface": null,
|
"vendor_interface": null,
|
||||||
@@ -174,6 +175,7 @@
|
|||||||
"target_power_state": null,
|
"target_power_state": null,
|
||||||
"target_provision_state": null,
|
"target_provision_state": null,
|
||||||
"target_raid_config": {},
|
"target_raid_config": {},
|
||||||
|
"traits": [],
|
||||||
"updated_at": null,
|
"updated_at": null,
|
||||||
"uuid": "2b045129-a906-46af-bc1a-092b294b3428",
|
"uuid": "2b045129-a906-46af-bc1a-092b294b3428",
|
||||||
"vendor_interface": "no-vendor",
|
"vendor_interface": "no-vendor",
|
||||||
|
|||||||
Reference in New Issue
Block a user