1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
.. -*- 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.
Traits can be either standard or custom. Standard traits are listed in the
`os_traits library <https://docs.openstack.org/os-traits/latest/>`_. Custom
traits must meet the following requirements:
* prefixed with ``CUSTOM_``
* contain only upper case characters A to Z, digits 0 to 9, or underscores
* no longer than 255 characters in length
A bare metal node can have a maximum of 50 traits.
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
|