Update api-ref for v1.22
This commit does several things, which were just easier to do together. - Adds a new "misc" page describing the /v1/lookup and /v1/heartbeat resources. - Adds descriptions of the node.resource_class and node.network_interface fields that were introduced into the API but not into the documentation. - Introduces a new script, api-ref/regenerate-samples.sh, which can be used with Ironic to automate the generation of most of the sample files used in the api-ref documententation. - Corrects several errors in the sample JSON files that rendered errors when using them with curl for POST, PUT, or PATCH. - Uses the aforementioned regenerate-samples.sh script to regenerate most of the JSON result samples, ensuring that they are all up to date with the v1.22 API microversion. - Removes a few old/incorrect "Error Code" listings. - Updates the index page to remove extraneous wording. Change-Id: I764cbb43be15f05ba681de6ce1be1ae7c022173d
This commit is contained in:
parent
494651de1f
commit
28a399a13c
171
api-ref/regenerate-samples.sh
Executable file
171
api-ref/regenerate-samples.sh
Executable file
@ -0,0 +1,171 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e -x
|
||||||
|
|
||||||
|
if [ ! -x /usr/bin/jq ]; then
|
||||||
|
echo "This script relies on 'jq' to process JSON output."
|
||||||
|
echo "Please install it before continuing."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
OS_AUTH_TOKEN=$(openstack token issue | grep ' id ' | awk '{print $4}')
|
||||||
|
IRONIC_URL="http://127.0.0.1:6385"
|
||||||
|
|
||||||
|
export OS_AUTH_TOKEN IRONIC_URL
|
||||||
|
|
||||||
|
function GET {
|
||||||
|
# GET $RESOURCE
|
||||||
|
curl -s -H "X-Auth-Token: $OS_AUTH_TOKEN" \
|
||||||
|
-H 'X-OpenStack-Ironic-API-Version: 1.22' \
|
||||||
|
${IRONIC_URL}/$1 | jq -S '.'
|
||||||
|
}
|
||||||
|
|
||||||
|
function POST {
|
||||||
|
# POST $RESOURCE $FILENAME
|
||||||
|
curl -s -H "X-Auth-Token: $OS_AUTH_TOKEN" \
|
||||||
|
-H 'X-OpenStack-Ironic-API-Version: 1.22' \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-X POST --data @$2 \
|
||||||
|
${IRONIC_URL}/$1 | jq -S '.'
|
||||||
|
}
|
||||||
|
|
||||||
|
function PATCH {
|
||||||
|
# POST $RESOURCE $FILENAME
|
||||||
|
curl -s -H "X-Auth-Token: $OS_AUTH_TOKEN" \
|
||||||
|
-H 'X-OpenStack-Ironic-API-Version: 1.22' \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-X PATCH --data @$2 \
|
||||||
|
${IRONIC_URL}/$1 | jq -S '.'
|
||||||
|
}
|
||||||
|
|
||||||
|
function PUT {
|
||||||
|
# PUT $RESOURCE $FILENAME
|
||||||
|
curl -s -H "X-Auth-Token: $OS_AUTH_TOKEN" \
|
||||||
|
-H 'X-OpenStack-Ironic-API-Version: 1.22' \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-X PUT --data @$2 \
|
||||||
|
${IRONIC_URL}/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
pushd source/samples
|
||||||
|
|
||||||
|
###########
|
||||||
|
# ROOT APIs
|
||||||
|
GET '' > api-root-response.json
|
||||||
|
|
||||||
|
GET 'v1' > api-v1-root-response.json
|
||||||
|
|
||||||
|
|
||||||
|
###########
|
||||||
|
# DRIVER APIs
|
||||||
|
GET v1/drivers > drivers-list-response.json
|
||||||
|
GET v1/drivers/agent_ipmitool > driver-get-response.json
|
||||||
|
GET v1/drivers/agent_ipmitool/properties > driver-property-response.json
|
||||||
|
GET v1/drivers/agent_ipmitool/raid/logical_disk_properties > driver-logical-disk-properties-response.json
|
||||||
|
|
||||||
|
GET v1/drivers/agent_ipmitool/vendor_passthru/methods > driver-passthru-methods-response.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
# CHASSIS
|
||||||
|
|
||||||
|
POST v1/chassis chassis-create-request.json > chassis-show-response.json
|
||||||
|
CID=$(cat chassis-show-response.json | grep '"uuid"' | sed 's/.*"\([0-9a-f\-]*\)",*/\1/')
|
||||||
|
if [ "$CID" == "" ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Chassis created. UUID: $CID"
|
||||||
|
fi
|
||||||
|
|
||||||
|
GET v1/chassis > chassis-list-response.json
|
||||||
|
|
||||||
|
GET v1/chassis/detail > chassis-list-details-response.json
|
||||||
|
|
||||||
|
PATCH v1/chassis/$CID chassis-update-request.json > chassis-update-response.json
|
||||||
|
|
||||||
|
# skip GET /v1/chassis/$UUID because the response is same as POST
|
||||||
|
|
||||||
|
|
||||||
|
#######
|
||||||
|
# NODES
|
||||||
|
|
||||||
|
# Create a node with a real driver, but missing ipmi_address,
|
||||||
|
# then do basic commands with it
|
||||||
|
POST v1/nodes node-create-request.json > node-create-response.json
|
||||||
|
NID=$(cat node-create-response.json | grep '"uuid"' | sed 's/.*"\([0-9a-f\-]*\)",*/\1/')
|
||||||
|
if [ "$NID" == "" ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Node created. UUID: $NID"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# get the list of passthru methods from agent* driver
|
||||||
|
GET v1/nodes/$NID/vendor_passthru/methods > node-vendor-passthru-response.json
|
||||||
|
|
||||||
|
# Change to the fake driver and then move the node into the AVAILABLE
|
||||||
|
# state without saving any output.
|
||||||
|
# NOTE that these three JSON files are not included in the docs
|
||||||
|
PATCH v1/nodes/$NID node-update-driver.json
|
||||||
|
PUT v1/nodes/$NID/states/provision node-set-manage-state.json
|
||||||
|
PUT v1/nodes/$NID/states/provision node-set-available-state.json
|
||||||
|
|
||||||
|
GET v1/nodes/$NID/validate > node-validate-response.json
|
||||||
|
|
||||||
|
PUT v1/nodes/$NID/states/power node-set-power-off.json
|
||||||
|
GET v1/nodes/$NID/states > node-get-state-response.json
|
||||||
|
|
||||||
|
GET v1/nodes > nodes-list-response.json
|
||||||
|
GET v1/nodes/detail > nodes-list-details-response.json
|
||||||
|
GET v1/nodes/$NID > node-show-response.json
|
||||||
|
|
||||||
|
# Put the Node in maintenance mode, then continue doing everything else
|
||||||
|
PUT v1/nodes/$NID/maintenance node-maintenance-request.json
|
||||||
|
|
||||||
|
###########
|
||||||
|
# PORTS
|
||||||
|
|
||||||
|
# Before we can create a port, we must
|
||||||
|
# write NODE ID into the create request document body
|
||||||
|
sed -i "s/.*node_uuid.*/ \"node_uuid\": \"$NID\",/" port-create-request.json
|
||||||
|
|
||||||
|
POST v1/ports port-create-request.json > port-create-response.json
|
||||||
|
PID=$(cat port-create-response.json | grep '"uuid"' | sed 's/.*"\([0-9a-f\-]*\)",*/\1/')
|
||||||
|
if [ "$PID" == "" ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Port created. UUID: $PID"
|
||||||
|
fi
|
||||||
|
|
||||||
|
GET v1/ports > port-list-respone.json
|
||||||
|
GET v1/ports/detail > port-list-detail-response.json
|
||||||
|
PATCH v1/ports/$PID port-update-request.json > port-update-response.json
|
||||||
|
|
||||||
|
# skip GET $PID because same result as POST
|
||||||
|
# skip DELETE
|
||||||
|
|
||||||
|
################
|
||||||
|
# NODE PORT APIs
|
||||||
|
|
||||||
|
GET v1/nodes/$NID/ports > node-port-list-response.json
|
||||||
|
GET v1/nodes/$NID/ports/detail > node-port-detail-response.json
|
||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
|
# LOOKUP API
|
||||||
|
|
||||||
|
GET v1/lookup?node_uuid=$NID > lookup-node-response.json
|
||||||
|
|
||||||
|
|
||||||
|
#####################
|
||||||
|
# NODES MANAGEMENT API
|
||||||
|
# These need to be done while the node is in maintenance mode,
|
||||||
|
# and the node's driver is "fake", to avoid potential races
|
||||||
|
# with internal processes that lock the Node
|
||||||
|
|
||||||
|
# this corrects an intentional ommission in some of the samples
|
||||||
|
PATCH v1/nodes/$NID node-update-driver-info-request.json > node-update-driver-info-response.json
|
||||||
|
|
||||||
|
GET v1/nodes/$NID/management/boot_device/supported > node-get-supported-boot-devices-response.json
|
||||||
|
PUT v1/nodes/$NID/management/boot_device node-set-boot-device.json
|
||||||
|
GET v1/nodes/$NID/management/boot_device > node-get-boot-device-response.json
|
@ -21,7 +21,8 @@ List chassis with details
|
|||||||
Lists all chassis with details.
|
Lists all chassis with details.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
Error response codes:413,405,404,403,401,400,503,
|
|
||||||
|
.. TODO: add error codes
|
||||||
|
|
||||||
Request
|
Request
|
||||||
-------
|
-------
|
||||||
@ -58,7 +59,8 @@ Show chassis details
|
|||||||
Shows details for a chassis.
|
Shows details for a chassis.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
Error response codes:413,405,404,403,401,400,503,
|
|
||||||
|
.. TODO: add error codes
|
||||||
|
|
||||||
Request
|
Request
|
||||||
-------
|
-------
|
||||||
@ -83,6 +85,7 @@ Response Example
|
|||||||
.. literalinclude:: samples/chassis-show-response.json
|
.. literalinclude:: samples/chassis-show-response.json
|
||||||
:language: javascript
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
Update chassis
|
Update chassis
|
||||||
==============
|
==============
|
||||||
|
|
||||||
@ -91,11 +94,15 @@ Update chassis
|
|||||||
Updates a chassis.
|
Updates a chassis.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
Error response codes:413,415,405,404,403,401,400,503,409,
|
|
||||||
|
.. TODO: add error codes
|
||||||
|
|
||||||
Request
|
Request
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
The BODY of the PATCH request must be a JSON PATCH document, adhering to
|
||||||
|
`RFC 6902 <https://tools.ietf.org/html/rfc6902>`_.
|
||||||
|
|
||||||
.. rest_parameters:: parameters.yaml
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
- chassis: chassis
|
- chassis: chassis
|
||||||
@ -125,7 +132,7 @@ Response Parameters
|
|||||||
Response Example
|
Response Example
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
.. literalinclude:: samples/chassis-show-response.json
|
.. literalinclude:: samples/chassis-update-response.json
|
||||||
:language: javascript
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
@ -136,7 +143,7 @@ Delete chassis
|
|||||||
|
|
||||||
Deletes a chassis.
|
Deletes a chassis.
|
||||||
|
|
||||||
Error response codes:204,413,415,405,404,403,401,400,503,409,
|
.. TODO: add error codes
|
||||||
|
|
||||||
Request
|
Request
|
||||||
-------
|
-------
|
||||||
@ -178,6 +185,12 @@ Response Parameters
|
|||||||
- nodes: nodes
|
- nodes: nodes
|
||||||
- uuid: uuid
|
- uuid: uuid
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/chassis-show-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
List chassis
|
List chassis
|
||||||
============
|
============
|
||||||
|
|
||||||
@ -186,7 +199,8 @@ List chassis
|
|||||||
Lists all chassis.
|
Lists all chassis.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
Error response codes:413,405,404,403,401,400,503,
|
|
||||||
|
.. TODO: add error codes
|
||||||
|
|
||||||
Request
|
Request
|
||||||
-------
|
-------
|
||||||
|
108
api-ref/source/baremetal-api-v1-misc.inc
Normal file
108
api-ref/source/baremetal-api-v1-misc.inc
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
=======
|
||||||
|
Utility
|
||||||
|
=======
|
||||||
|
|
||||||
|
This section describes two API endpoints used by the ``ironic-python-agent``
|
||||||
|
ramdisk as it communicates with the Bare Metal service. These were previously
|
||||||
|
exposed as vendor passthrough methods, however, as ironic-python-agent has
|
||||||
|
become the standard ramdisk agent, these methods have been made a part of the
|
||||||
|
official REST API.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
**Operators are reminded not to expose the Bare Metal Service's API to
|
||||||
|
unsecured networks.** Both API endpoints listed below are available to
|
||||||
|
*unauthenticated* clients because the default method for booting the
|
||||||
|
``ironic-python-agent`` ramdisk does not provide the agent with keystone
|
||||||
|
credentials.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
It is possible to include keys in your ramdisk, or pass keys in via the
|
||||||
|
boot method, if your driver supports it; if that is done, you may configure
|
||||||
|
these endpoint to require authentication by changing the policy rules
|
||||||
|
``baremetal:driver:ipa_lookup`` and ``baremetal:node:ipa_heartbeat``.
|
||||||
|
In light of that, operators are recommended to ensure that this endpoint is
|
||||||
|
only available on the ``provisioning`` and ``cleaning`` networks.
|
||||||
|
|
||||||
|
|
||||||
|
Agent Lookup
|
||||||
|
============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/lookup
|
||||||
|
|
||||||
|
Beginning with the v1.22 API, a ``/lookup`` method is exposed at the root of
|
||||||
|
the REST API. This should only be used by the ``ironic-python-agent`` ramdisk
|
||||||
|
to retrieve required configuration data from the Bare Metal service.
|
||||||
|
|
||||||
|
By default, ``/v1/lookup`` will only match Nodes that are expected to be
|
||||||
|
running the ``ironic-python-agent`` ramdisk (for instance, because the Bare
|
||||||
|
Metal service has just initiated a deployment). It can not be used as a
|
||||||
|
generic search mechanism, though this behaviour may be changed by setting
|
||||||
|
the ``[api] restrict_lookup = false`` configuration option for the ironic-api
|
||||||
|
service.
|
||||||
|
|
||||||
|
The query string should include either or both a ``node_uuid`` or an
|
||||||
|
``addresses`` query parameter. If a matching Node is found, information about
|
||||||
|
that Node shall be returned, including instance-specific information such as
|
||||||
|
the configdrive.
|
||||||
|
|
||||||
|
This deprecates the ``agent``-driver specific ``vendor_passthru`` method of the
|
||||||
|
same name, previously accessible at
|
||||||
|
``/v1/drivers/agent_*/vendor_passthru?method=lookup``.
|
||||||
|
|
||||||
|
Normal response codes: 200
|
||||||
|
|
||||||
|
Error response codes: 400 404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_uuid: r_node_uuid
|
||||||
|
- addresses: r_addresses
|
||||||
|
|
||||||
|
Response
|
||||||
|
--------
|
||||||
|
|
||||||
|
Returns only the information about the corresponding Node that the
|
||||||
|
``ironic-python-agent`` process requires.
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node: agent_node
|
||||||
|
- config: agent_config
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/lookup-node-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Agent Heartbeat
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/heartbeat/{node_ident}
|
||||||
|
|
||||||
|
Beginning with the v1.22 API, a ``/heartbeat`` method is exposed at the root of
|
||||||
|
the REST API. This is used as a callback from within the ``ironic-python-agent``
|
||||||
|
ramdisk, so that an active ramdisk may periodically contact the Bare Metal
|
||||||
|
service and provide the current URL at which to contact the agent.
|
||||||
|
|
||||||
|
This deprecates the ``agent``-driver specific ``vendor_passthru`` method of the
|
||||||
|
same name, previously accessible at
|
||||||
|
``/v1/nodes/{node_ident}/vendor_passthru?method=heartbeat``.
|
||||||
|
|
||||||
|
Normal response codes: 202
|
||||||
|
|
||||||
|
Error response codes: 400 404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- node_ident: node_ident
|
||||||
|
- callback_url: callback_url
|
@ -155,7 +155,7 @@ Request
|
|||||||
|
|
||||||
**Example JSON request body to set boot device:**
|
**Example JSON request body to set boot device:**
|
||||||
|
|
||||||
.. literalinclude:: samples/node-get-or-set-boot-device.json
|
.. literalinclude:: samples/node-set-boot-device.json
|
||||||
|
|
||||||
|
|
||||||
Get Boot Device
|
Get Boot Device
|
||||||
@ -190,7 +190,7 @@ Response
|
|||||||
|
|
||||||
**Example JSON response to get boot device:**
|
**Example JSON response to get boot device:**
|
||||||
|
|
||||||
.. literalinclude:: samples/node-get-or-set-boot-device.json
|
.. literalinclude:: samples/node-get-boot-device-response.json
|
||||||
|
|
||||||
|
|
||||||
Get Supported Boot Devices
|
Get Supported Boot Devices
|
||||||
|
@ -71,7 +71,15 @@ API microversion 1.7 introduced the ``clean_step`` field`
|
|||||||
API microversion 1.12 introduced support for the ``raid_config`` and
|
API microversion 1.12 introduced support for the ``raid_config`` and
|
||||||
``target_raid_config`` fields.
|
``target_raid_config`` fields.
|
||||||
|
|
||||||
The list and example below are representative of the response as of API microversion 1.16.
|
API microversion 1.20 introduced the ``network_interface`` field. If this field
|
||||||
|
is not supplied when creating the Node, the default value will be used.
|
||||||
|
|
||||||
|
API microversion 1.21 introduced the ``resource_class`` field, which may be used to
|
||||||
|
store a resource designation for the proposed OpenStack Placement Engine. This
|
||||||
|
field has no effect within Ironic.
|
||||||
|
|
||||||
|
|
||||||
|
The list and example below are representative of the response as of API microversion 1.22.
|
||||||
|
|
||||||
.. rest_parameters:: parameters.yaml
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
@ -100,6 +108,8 @@ The list and example below are representative of the response as of API microver
|
|||||||
- links: links
|
- links: links
|
||||||
- ports: n_ports
|
- ports: n_ports
|
||||||
- states: n_states
|
- states: n_states
|
||||||
|
- network_interface: network_interface
|
||||||
|
- resource_class: resource_class
|
||||||
|
|
||||||
**Example JSON representation of a Node:**
|
**Example JSON representation of a Node:**
|
||||||
|
|
||||||
@ -128,6 +138,9 @@ the list of returned Nodes to be filtered by their current state.
|
|||||||
API microversion 1.16 added the ``driver`` Request parameter, allowing
|
API microversion 1.16 added the ``driver`` Request parameter, allowing
|
||||||
the list of returned Nodes to be filtered by their driver name.
|
the list of returned Nodes to be filtered by their driver name.
|
||||||
|
|
||||||
|
API microversion 1.21 added the ``resource_class`` Request parameter,
|
||||||
|
allowing the list of returned Nodes to be filtered by this field.
|
||||||
|
|
||||||
Normal response codes: 200
|
Normal response codes: 200
|
||||||
|
|
||||||
.. TODO: add error codes
|
.. TODO: add error codes
|
||||||
@ -142,6 +155,7 @@ Request
|
|||||||
- associated: r_associated
|
- associated: r_associated
|
||||||
- provision_state: r_provision_state
|
- provision_state: r_provision_state
|
||||||
- driver: r_driver
|
- driver: r_driver
|
||||||
|
- resource_class: r_resource_class
|
||||||
- fields: fields
|
- fields: fields
|
||||||
- limit: limit
|
- limit: limit
|
||||||
- marker: marker
|
- marker: marker
|
||||||
@ -192,6 +206,7 @@ Request
|
|||||||
- associated: r_associated
|
- associated: r_associated
|
||||||
- provision_state: r_provision_state
|
- provision_state: r_provision_state
|
||||||
- driver: r_driver
|
- driver: r_driver
|
||||||
|
- resource_class: r_resource_class
|
||||||
- limit: limit
|
- limit: limit
|
||||||
- marker: marker
|
- marker: marker
|
||||||
- sort_dir: sort_dir
|
- sort_dir: sort_dir
|
||||||
@ -227,6 +242,8 @@ Response
|
|||||||
- links: links
|
- links: links
|
||||||
- ports: n_ports
|
- ports: n_ports
|
||||||
- states: n_states
|
- states: n_states
|
||||||
|
- network_interface: network_interface
|
||||||
|
- resource_class: resource_class
|
||||||
|
|
||||||
**Example detailed list of Nodes:**
|
**Example detailed list of Nodes:**
|
||||||
|
|
||||||
@ -285,6 +302,8 @@ Response
|
|||||||
- links: links
|
- links: links
|
||||||
- ports: n_ports
|
- ports: n_ports
|
||||||
- states: n_states
|
- states: n_states
|
||||||
|
- network_interface: network_interface
|
||||||
|
- resource_class: resource_class
|
||||||
|
|
||||||
**Example JSON representation of a Node:**
|
**Example JSON representation of a Node:**
|
||||||
|
|
||||||
@ -350,6 +369,8 @@ Response
|
|||||||
- links: links
|
- links: links
|
||||||
- ports: n_ports
|
- ports: n_ports
|
||||||
- states: n_states
|
- states: n_states
|
||||||
|
- network_interface: network_interface
|
||||||
|
- resource_class: resource_class
|
||||||
|
|
||||||
**Example JSON representation of a Node:**
|
**Example JSON representation of a Node:**
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ supports versioning. There are two kinds of versions in Ironic.
|
|||||||
- ''microversions'', which can be requested through the use of the
|
- ''microversions'', which can be requested through the use of the
|
||||||
``X-OpenStack-Ironic-API-Version`` header.
|
``X-OpenStack-Ironic-API-Version`` header.
|
||||||
|
|
||||||
|
The Version APIs work differently from other APIs as they *do not* require authentication.
|
||||||
|
|
||||||
Beginning with the Kilo release, all API requests support the
|
Beginning with the Kilo release, all API requests support the
|
||||||
``X-OpenStack-Ironic-API-Version`` header. This header SHOULD be supplied
|
``X-OpenStack-Ironic-API-Version`` header. This header SHOULD be supplied
|
||||||
with every request; in the absence of this header, each request is treated
|
with every request; in the absence of this header, each request is treated
|
||||||
@ -75,4 +77,4 @@ Response Example
|
|||||||
- x-openstack-ironic-api-max-version: x-openstack-ironic-api-max-version
|
- x-openstack-ironic-api-max-version: x-openstack-ironic-api-max-version
|
||||||
|
|
||||||
.. literalinclude:: samples/api-v1-root-response.json
|
.. literalinclude:: samples/api-v1-root-response.json
|
||||||
:language: javascript
|
:language: javascript
|
||||||
|
@ -4,14 +4,6 @@
|
|||||||
Bare Metal API
|
Bare Metal API
|
||||||
================
|
================
|
||||||
|
|
||||||
This documentation describes the REST API for the Ironic service, beginning with the
|
|
||||||
5.1.0 (Mitaka) release.
|
|
||||||
|
|
||||||
Version negotiation is implemented in the server. When the negotiated version
|
|
||||||
is not the current maximum version, both request and response may not match what
|
|
||||||
is presented in this document. Significant changes may be noted inline.
|
|
||||||
|
|
||||||
|
|
||||||
.. rest_expand_all::
|
.. rest_expand_all::
|
||||||
|
|
||||||
.. include:: baremetal-api-versions.inc
|
.. include:: baremetal-api-versions.inc
|
||||||
@ -23,4 +15,5 @@ is presented in this document. Significant changes may be noted inline.
|
|||||||
.. include:: baremetal-api-v1-drivers.inc
|
.. include:: baremetal-api-v1-drivers.inc
|
||||||
.. include:: baremetal-api-v1-driver-passthru.inc
|
.. include:: baremetal-api-v1-driver-passthru.inc
|
||||||
.. include:: baremetal-api-v1-chassis.inc
|
.. include:: baremetal-api-v1-chassis.inc
|
||||||
|
.. include:: baremetal-api-v1-misc.inc
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ openstack-request-id:
|
|||||||
type: string
|
type: string
|
||||||
x-openstack-ironic-api-max-version:
|
x-openstack-ironic-api-max-version:
|
||||||
description: |
|
description: |
|
||||||
Maximum API microversion supported by this endpoint, eg. "1.16"
|
Maximum API microversion supported by this endpoint, eg. "1.22"
|
||||||
in: header
|
in: header
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
@ -70,6 +70,14 @@ port_ident:
|
|||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
|
||||||
|
callback_url:
|
||||||
|
description: |
|
||||||
|
The URL of an active ironic-python-agent ramdisk, sent back to the Bare
|
||||||
|
Metal service and stored temporarily during a provisioning action.
|
||||||
|
in: query
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
# variables common to all query strings
|
# variables common to all query strings
|
||||||
fields:
|
fields:
|
||||||
description: |
|
description: |
|
||||||
@ -114,6 +122,14 @@ method_name:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
# variable in the lookup query string
|
||||||
|
r_addresses:
|
||||||
|
description: |
|
||||||
|
Optional list of one or more Port addresses.
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
type: list
|
||||||
|
|
||||||
# variables in the node query string
|
# variables in the node query string
|
||||||
r_associated:
|
r_associated:
|
||||||
description: |
|
description: |
|
||||||
@ -143,6 +159,13 @@ r_maintenance:
|
|||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
|
# variable in the lookup query string
|
||||||
|
r_node_uuid:
|
||||||
|
description: |
|
||||||
|
Optional Node UUID.
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
r_port_address:
|
r_port_address:
|
||||||
description: |
|
description: |
|
||||||
Filter the list of returned Ports, and only return the ones with the
|
Filter the list of returned Ports, and only return the ones with the
|
||||||
@ -172,6 +195,13 @@ r_provision_state:
|
|||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
r_resource_class:
|
||||||
|
description: |
|
||||||
|
Filter the list of returned nodes, and only return the ones with the
|
||||||
|
specified resource class. Introduced in API version 1.21.
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sort_dir:
|
sort_dir:
|
||||||
description: |
|
description: |
|
||||||
Sorts the response by the requested sort
|
Sorts the response by the requested sort
|
||||||
@ -196,6 +226,22 @@ sort_key:
|
|||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# variable returned from /lookup
|
||||||
|
agent_config:
|
||||||
|
description: |
|
||||||
|
JSON document of configuration data for the ironic-python-agent process.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: JSON
|
||||||
|
agent_node:
|
||||||
|
description: |
|
||||||
|
JSON document containing a subset of Node fields, used by the
|
||||||
|
ironic-python-agent process as it operates on the Node.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: JSON
|
||||||
|
|
||||||
# variables in the API response body
|
# variables in the API response body
|
||||||
boot_device:
|
boot_device:
|
||||||
description: |
|
description: |
|
||||||
@ -412,6 +458,13 @@ name:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
network_interface:
|
||||||
|
description: |
|
||||||
|
Which Network Interface provider to use when plumbing the network
|
||||||
|
connections for this Node. Added in API microversion v1.20
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
node_name:
|
node_name:
|
||||||
description: |
|
description: |
|
||||||
Human-readable identifier for the Node resource. May be undefined. Certain
|
Human-readable identifier for the Node resource. May be undefined. Certain
|
||||||
@ -545,6 +598,14 @@ reservation:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
resource_class:
|
||||||
|
description: |
|
||||||
|
A string which can be used by external schedulers to identify this Node as
|
||||||
|
a unit of a specific type of resource. This will be used by the openstack
|
||||||
|
Placement Engine in a future release. Added in API microversion 1.21.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
supported_boot_devices:
|
supported_boot_devices:
|
||||||
description: |
|
description: |
|
||||||
List of boot devices which this Node's driver supports.
|
List of boot devices which this Node's driver supports.
|
||||||
@ -637,7 +698,7 @@ v_raid:
|
|||||||
|
|
||||||
version:
|
version:
|
||||||
description: |
|
description: |
|
||||||
Versioning of this API response, eg. "1.16".
|
Versioning of this API response, eg. "1.22".
|
||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
{
|
{
|
||||||
"name" : "OpenStack Ironic API",
|
"default_version": {
|
||||||
"description" : "Ironic is an OpenStack project which aims to provision baremetal machines.",
|
"id": "v1",
|
||||||
"default_version" : {
|
"links": [
|
||||||
"status" : "CURRENT",
|
|
||||||
"version" : "1.16",
|
|
||||||
"links" : [
|
|
||||||
{
|
|
||||||
"rel" : "self",
|
|
||||||
"href" : "http://127.0.0.1:6385/v1/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"id" : "v1",
|
|
||||||
"min_version" : "1.1"
|
|
||||||
},
|
|
||||||
"versions" : [
|
|
||||||
{
|
{
|
||||||
"status" : "CURRENT",
|
"href": "http://127.0.0.1:6385/v1/",
|
||||||
"links" : [
|
"rel": "self"
|
||||||
{
|
|
||||||
"href" : "http://127.0.0.1:6385/v1/",
|
|
||||||
"rel" : "self"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"id" : "v1",
|
|
||||||
"version" : "1.16",
|
|
||||||
"min_version" : "1.1"
|
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"min_version": "1.1",
|
||||||
|
"status": "CURRENT",
|
||||||
|
"version": "1.22"
|
||||||
|
},
|
||||||
|
"description": "Ironic is an OpenStack project which aims to provision baremetal machines.",
|
||||||
|
"name": "OpenStack Ironic API",
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"id": "v1",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/",
|
||||||
|
"rel": "self"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"min_version": "1.1",
|
||||||
|
"status": "CURRENT",
|
||||||
|
"version": "1.22"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,60 +1,80 @@
|
|||||||
{
|
{
|
||||||
"chassis" : [
|
"chassis": [
|
||||||
{
|
{
|
||||||
"rel" : "self",
|
"href": "http://127.0.0.1:6385/v1/chassis/",
|
||||||
"href" : "http://127.0.0.1:6385/v1/chassis/"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/chassis/",
|
"href": "http://127.0.0.1:6385/chassis/",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"links" : [
|
"drivers": [
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/",
|
"href": "http://127.0.0.1:6385/v1/drivers/",
|
||||||
"rel" : "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"rel" : "describedby",
|
"href": "http://127.0.0.1:6385/drivers/",
|
||||||
"type" : "text/html",
|
"rel": "bookmark"
|
||||||
"href" : "http://docs.openstack.org/developer/ironic/dev/api-spec-v1.html"
|
}
|
||||||
}
|
],
|
||||||
],
|
"heartbeat": [
|
||||||
"nodes" : [
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/heartbeat/",
|
||||||
"rel" : "self",
|
"rel": "self"
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/"
|
},
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/heartbeat/",
|
||||||
"rel" : "bookmark",
|
"rel": "bookmark"
|
||||||
"href" : "http://127.0.0.1:6385/nodes/"
|
}
|
||||||
}
|
],
|
||||||
],
|
"id": "v1",
|
||||||
"ports" : [
|
"links": [
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/",
|
"href": "http://127.0.0.1:6385/v1/",
|
||||||
"rel" : "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"rel" : "bookmark",
|
"href": "http://docs.openstack.org/developer/ironic/dev/api-spec-v1.html",
|
||||||
"href" : "http://127.0.0.1:6385/ports/"
|
"rel": "describedby",
|
||||||
}
|
"type": "text/html"
|
||||||
],
|
}
|
||||||
"media_types" : [
|
],
|
||||||
{
|
"lookup": [
|
||||||
"type" : "application/vnd.openstack.ironic.v1+json",
|
{
|
||||||
"base" : "application/json"
|
"href": "http://127.0.0.1:6385/v1/lookup/",
|
||||||
}
|
"rel": "self"
|
||||||
],
|
},
|
||||||
"drivers" : [
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/lookup/",
|
||||||
"rel" : "self",
|
"rel": "bookmark"
|
||||||
"href" : "http://127.0.0.1:6385/v1/drivers/"
|
}
|
||||||
},
|
],
|
||||||
{
|
"media_types": [
|
||||||
"href" : "http://127.0.0.1:6385/drivers/",
|
{
|
||||||
"rel" : "bookmark"
|
"base": "application/json",
|
||||||
}
|
"type": "application/vnd.openstack.ironic.v1+json"
|
||||||
],
|
}
|
||||||
"id" : "v1"
|
],
|
||||||
}
|
"nodes": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/nodes/",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/nodes/",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ports": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/ports/",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/ports/",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
{
|
{
|
||||||
"chassis": [
|
"description": "Sample chassis"
|
||||||
{
|
|
||||||
"description": "Sample chassis"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,31 @@
|
|||||||
{
|
{
|
||||||
"chassis": [
|
"chassis": [
|
||||||
|
{
|
||||||
|
"created_at": "2016-08-18T22:28:48.165105+00:00",
|
||||||
|
"description": "Sample chassis",
|
||||||
|
"extra": {},
|
||||||
|
"links": [
|
||||||
{
|
{
|
||||||
"description": "Sample chassis",
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
"links": [
|
"rel": "self"
|
||||||
{
|
},
|
||||||
"href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
{
|
||||||
"rel": "self"
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
},
|
"rel": "bookmark"
|
||||||
{
|
|
||||||
"href": "http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
|
||||||
"rel": "bookmark"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"uuid": "eaaca217-e7d8-47b4-bb41-3f99f20eed89"
|
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated_at": null,
|
||||||
|
"uuid": "dff29d23-1ded-43b4-8ae1-5eebb3e30de1"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"chassis": [
|
"chassis": [
|
||||||
|
{
|
||||||
|
"description": "Sample chassis",
|
||||||
|
"links": [
|
||||||
{
|
{
|
||||||
"description": "Sample chassis",
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
"links": [
|
"rel": "self"
|
||||||
{
|
},
|
||||||
"href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
{
|
||||||
"rel": "self"
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
},
|
"rel": "bookmark"
|
||||||
{
|
|
||||||
"href": "http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
|
||||||
"rel": "bookmark"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"uuid": "eaaca217-e7d8-47b4-bb41-3f99f20eed89"
|
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"uuid": "dff29d23-1ded-43b4-8ae1-5eebb3e30de1"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"created_at": "2000-01-01T12:00:00",
|
"created_at": "2016-08-18T22:28:48.165105+00:00",
|
||||||
"description": "Sample chassis",
|
"description": "Sample chassis",
|
||||||
"extra": {},
|
"extra": {},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
"href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
"rel": "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href": "http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
"rel": "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"nodes": [
|
"nodes": [
|
||||||
{
|
{
|
||||||
"href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes",
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
"rel": "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href": "http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes",
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
"rel": "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"updated_at": "2000-01-01T12:00:00",
|
"updated_at": null,
|
||||||
"uuid": "eaaca217-e7d8-47b4-bb41-3f99f20eed89"
|
"uuid": "dff29d23-1ded-43b4-8ae1-5eebb3e30de1"
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
[
|
||||||
"chassis": [
|
{
|
||||||
{
|
"op": "replace",
|
||||||
"description": "Sample chassis"
|
"path": "/description",
|
||||||
}
|
"value": "Updated Chassis"
|
||||||
]
|
}
|
||||||
}
|
]
|
||||||
|
27
api-ref/source/samples/chassis-update-response.json
Normal file
27
api-ref/source/samples/chassis-update-response.json
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2016-08-18T22:28:48.165105+00:00",
|
||||||
|
"description": "Updated Chassis",
|
||||||
|
"extra": {},
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/chassis/dff29d23-1ded-43b4-8ae1-5eebb3e30de1/nodes",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updated_at": "2016-08-18T22:28:48.556556+00:00",
|
||||||
|
"uuid": "dff29d23-1ded-43b4-8ae1-5eebb3e30de1"
|
||||||
|
}
|
@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
"links" : [
|
"hosts": [
|
||||||
{
|
"897ab1dad809"
|
||||||
"rel" : "self",
|
],
|
||||||
"href" : "http://127.0.0.1:6385/v1/drivers/agent_ipmitool"
|
"links": [
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ipmitool",
|
||||||
"href" : "http://127.0.0.1:6385/drivers/agent_ipmitool",
|
"rel": "self"
|
||||||
"rel" : "bookmark"
|
},
|
||||||
}
|
{
|
||||||
],
|
"href": "http://127.0.0.1:6385/drivers/agent_ipmitool",
|
||||||
"name" : "agent_ipmitool",
|
"rel": "bookmark"
|
||||||
"properties" : [
|
}
|
||||||
{
|
],
|
||||||
"rel" : "self",
|
"name": "agent_ipmitool",
|
||||||
"href" : "http://127.0.0.1:6385/v1/drivers/agent_ipmitool/properties"
|
"properties": [
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ipmitool/properties",
|
||||||
"rel" : "bookmark",
|
"rel": "self"
|
||||||
"href" : "http://127.0.0.1:6385/drivers/agent_ipmitool/properties"
|
},
|
||||||
}
|
{
|
||||||
],
|
"href": "http://127.0.0.1:6385/drivers/agent_ipmitool/properties",
|
||||||
"hosts" : [
|
"rel": "bookmark"
|
||||||
"localhost"
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"share_physical_disks" : "Specifies whether other logical disks can share physical disks with this logical disk. By default, this is False. Optional.",
|
"controller": "Controller to use for this logical disk. If not specified, the driver will choose a suitable RAID controller on the bare metal node. Optional.",
|
||||||
"controller" : "Controller to use for this logical disk. If not specified, the driver will choose a suitable RAID controller on the bare metal node. Optional.",
|
"disk_type": "The type of disk preferred. Valid values are 'hdd' and 'ssd'. If this is not specified, disk type will not be a selection criterion for choosing backing physical disks. Optional.",
|
||||||
"disk_type" : "The type of disk preferred. Valid values are 'hdd' and 'ssd'. If this is not specified, disk type will not be a selection criterion for choosing backing physical disks. Optional.",
|
"interface_type": "The interface type of disk. Valid values are 'sata', 'scsi' and 'sas'. If this is not specified, interface type will not be a selection criterion for choosing backing physical disks. Optional.",
|
||||||
"physical_disks" : "The physical disks to use for this logical disk. If not specified, the driver will choose suitable physical disks to use. Optional.",
|
"is_root_volume": "Specifies whether this disk is a root volume. By default, this is False. Optional.",
|
||||||
"volume_name" : "Name of the volume to be created. If this is not specified, it will be auto-generated. Optional.",
|
"number_of_physical_disks": "Number of physical disks to use for this logical disk. By default, the driver uses the minimum number of disks required for that RAID level. Optional.",
|
||||||
"number_of_physical_disks" : "Number of physical disks to use for this logical disk. By default, the driver uses the minimum number of disks required for that RAID level. Optional.",
|
"physical_disks": "The physical disks to use for this logical disk. If not specified, the driver will choose suitable physical disks to use. Optional.",
|
||||||
"raid_level" : "RAID level for the logical disk. Valid values are '0', '1', '2', '5', '6', '1+0', '5+0' and '6+0'. Required.",
|
"raid_level": "RAID level for the logical disk. Valid values are 'JBOD', 0', '1', '2', '5', '6', '1+0', '5+0' and '6+0'. Required.",
|
||||||
"size_gb" : "Size in GiB (Integer) for the logical disk. Use 'MAX' as size_gb if this logical disk is supposed to use the rest of the space available. Required.",
|
"share_physical_disks": "Specifies whether other logical disks can share physical disks with this logical disk. By default, this is False. Optional.",
|
||||||
"interface_type" : "The interface type of disk. Valid values are 'sata', 'scsi' and 'sas'. If this is not specified, interface type will not be a selection criterion for choosing backing physical disks. Optional.",
|
"size_gb": "Size in GiB (Integer) for the logical disk. Use 'MAX' as size_gb if this logical disk is supposed to use the rest of the space available. Required.",
|
||||||
"is_root_volume" : "Specifies whether this disk is a root volume. By default, this is False. Optional."
|
"volume_name": "Name of the volume to be created. If this is not specified, it will be auto-generated. Optional."
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"lookup" : {
|
"lookup": {
|
||||||
"http_methods" : [
|
"async": false,
|
||||||
"POST"
|
"attach": false,
|
||||||
],
|
"description": "",
|
||||||
"attach" : false,
|
"http_methods": [
|
||||||
"description" : "",
|
"POST"
|
||||||
"async" : false
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
{
|
{
|
||||||
"ipmi_force_boot_device" : "Whether Ironic should specify the boot device to the BMC each time the server is turned on, eg. because the BMC is not capable of remembering the selected boot device across power cycles; default value is False. Optional.",
|
"deploy_forces_oob_reboot": "Whether Ironic should force a reboot of the Node via the out-of-band channel after deployment is complete. Provides compatibility with older deploy ramdisks. Defaults to False. Optional.",
|
||||||
"deploy_forces_oob_reboot" : "Whether Ironic should force a reboot of the Node via the out-of-band channel after deployment is complete. Provides compatiblity with older deploy ramdisks. Defaults to False. Optional.",
|
"deploy_kernel": "UUID (from Glance) of the deployment kernel. Required.",
|
||||||
"ipmi_target_address" : "destination address for bridged request. Required only if ipmi_bridging is set to \"single\" or \"dual\".",
|
"deploy_ramdisk": "UUID (from Glance) of the ramdisk that is mounted at boot time. Required.",
|
||||||
"image_https_proxy" : "URL of a proxy server for HTTPS connections. Optional.",
|
"image_http_proxy": "URL of a proxy server for HTTP connections. Optional.",
|
||||||
"ipmi_password" : "password. Optional.",
|
"image_https_proxy": "URL of a proxy server for HTTPS connections. Optional.",
|
||||||
"ipmi_bridging" : "bridging_type; default is \"no\". One of \"single\", \"dual\", \"no\". Optional.",
|
"image_no_proxy": "A comma-separated list of host names, IP addresses and domain names (with optional :port) that will be excluded from proxying. To denote a doman name, use a dot to prefix the domain name. This value will be ignored if ``image_http_proxy`` and ``image_https_proxy`` are not specified. Optional.",
|
||||||
"deploy_kernel" : "UUID (from Glance) of the deployment kernel. Required.",
|
"ipmi_address": "IP address or hostname of the node. Required.",
|
||||||
"ipmi_address" : "IP address or hostname of the node. Required.",
|
"ipmi_bridging": "bridging_type; default is \"no\". One of \"single\", \"dual\", \"no\". Optional.",
|
||||||
"image_no_proxy" : "A comma-separated list of host names, IP addresses and domain names (with optional :port) that will be excluded from proxying. To denote a doman name, use a dot to prefix the domain name. This value will be ignored if ``image_http_proxy`` and ``image_https_proxy`` are not specified. Optional.",
|
"ipmi_force_boot_device": "Whether Ironic should specify the boot device to the BMC each time the server is turned on, eg. because the BMC is not capable of remembering the selected boot device across power cycles; default value is False. Optional.",
|
||||||
"ipmi_local_address" : "local IPMB address for bridged requests. Used only if ipmi_bridging is set to \"single\" or \"dual\". Optional.",
|
"ipmi_local_address": "local IPMB address for bridged requests. Used only if ipmi_bridging is set to \"single\" or \"dual\". Optional.",
|
||||||
"ipmi_transit_channel" : "transit channel for bridged request. Required only if ipmi_bridging is set to \"dual\".",
|
"ipmi_password": "password. Optional.",
|
||||||
"ipmi_transit_address" : "transit address for bridged request. Required only if ipmi_bridging is set to \"dual\".",
|
"ipmi_port": "remote IPMI RMCP port. Optional.",
|
||||||
"ipmi_username" : "username; default is NULL user. Optional.",
|
"ipmi_priv_level": "privilege level; default is ADMINISTRATOR. One of ADMINISTRATOR, CALLBACK, OPERATOR, USER. Optional.",
|
||||||
"deploy_ramdisk" : "UUID (from Glance) of the ramdisk that is mounted at boot time. Required.",
|
"ipmi_protocol_version": "the version of the IPMI protocol; default is \"2.0\". One of \"1.5\", \"2.0\". Optional.",
|
||||||
"ipmi_target_channel" : "destination channel for bridged request. Required only if ipmi_bridging is set to \"single\" or \"dual\".",
|
"ipmi_target_address": "destination address for bridged request. Required only if ipmi_bridging is set to \"single\" or \"dual\".",
|
||||||
"ipmi_terminal_port" : "node's UDP port to connect to. Only required for console access.",
|
"ipmi_target_channel": "destination channel for bridged request. Required only if ipmi_bridging is set to \"single\" or \"dual\".",
|
||||||
"image_http_proxy" : "URL of a proxy server for HTTP connections. Optional.",
|
"ipmi_terminal_port": "node's UDP port to connect to. Only required for console access.",
|
||||||
"ipmi_priv_level" : "privilege level; default is ADMINISTRATOR. One of ADMINISTRATOR, CALLBACK, OPERATOR, USER. Optional.",
|
"ipmi_transit_address": "transit address for bridged request. Required only if ipmi_bridging is set to \"dual\".",
|
||||||
"ipmi_protocol_version" : "the version of the IPMI protocol; default is \"2.0\". One of \"1.5\", \"2.0\". Optional.",
|
"ipmi_transit_channel": "transit channel for bridged request. Required only if ipmi_bridging is set to \"dual\".",
|
||||||
"ipmi_port" : "remote IPMI RMCP port. Optional."
|
"ipmi_username": "username; default is NULL user. Optional."
|
||||||
}
|
}
|
||||||
|
@ -1,30 +1,108 @@
|
|||||||
{
|
{
|
||||||
"drivers" : [
|
"drivers": [
|
||||||
{
|
{
|
||||||
"hosts" : [
|
"hosts": [
|
||||||
"localhost"
|
"897ab1dad809"
|
||||||
],
|
],
|
||||||
"links" : [
|
"links": [
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/drivers/agent_ipmitool",
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ssh",
|
||||||
"rel" : "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/drivers/agent_ipmitool",
|
"href": "http://127.0.0.1:6385/drivers/agent_ssh",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name" : "agent_ipmitool",
|
"name": "agent_ssh",
|
||||||
"properties" : [
|
"properties": [
|
||||||
{
|
{
|
||||||
"rel" : "self",
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ssh/properties",
|
||||||
"href" : "http://127.0.0.1:6385/v1/drivers/agent_ipmitool/properties"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/drivers/agent_ipmitool/properties",
|
"href": "http://127.0.0.1:6385/drivers/agent_ssh/properties",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
|
"hosts": [
|
||||||
|
"897ab1dad809"
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/pxe_ipmitool",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/pxe_ipmitool",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "pxe_ipmitool",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/pxe_ipmitool/properties",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/pxe_ipmitool/properties",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hosts": [
|
||||||
|
"897ab1dad809"
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ipmitool",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/agent_ipmitool",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "agent_ipmitool",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/agent_ipmitool/properties",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/agent_ipmitool/properties",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hosts": [
|
||||||
|
"897ab1dad809"
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/fake",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/fake",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "fake",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/drivers/fake/properties",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/drivers/fake/properties",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
34
api-ref/source/samples/lookup-node-response.json
Normal file
34
api-ref/source/samples/lookup-node-response.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"heartbeat_timeout": 300,
|
||||||
|
"metrics": {
|
||||||
|
"backend": "noop",
|
||||||
|
"global_prefix": null,
|
||||||
|
"prepend_host": false,
|
||||||
|
"prepend_host_reverse": true,
|
||||||
|
"prepend_uuid": false
|
||||||
|
},
|
||||||
|
"metrics_statsd": {
|
||||||
|
"statsd_host": "localhost",
|
||||||
|
"statsd_port": 8125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node": {
|
||||||
|
"driver_internal_info": {
|
||||||
|
"clean_steps": null
|
||||||
|
},
|
||||||
|
"instance_info": {},
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {},
|
||||||
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,8 @@
|
|||||||
{
|
{
|
||||||
|
"name": "test_node",
|
||||||
"driver": "agent_ipmitool",
|
"driver": "agent_ipmitool",
|
||||||
"name": "test_node"
|
"driver_info": {
|
||||||
|
"ipmi_username": "ADMIN",
|
||||||
|
"ipmi_password": "password"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,58 +1,63 @@
|
|||||||
{
|
{
|
||||||
"last_error" : null,
|
"clean_step": {},
|
||||||
"extra" : {},
|
"console_enabled": false,
|
||||||
"reservation" : null,
|
"created_at": "2016-08-18T22:28:48.643434+00:00",
|
||||||
"driver" : "agent_ipmitool",
|
"driver": "agent_ipmitool",
|
||||||
"instance_info" : {},
|
"driver_info": {
|
||||||
"created_at" : "2016-05-04T22:59:49.300836+00:00",
|
"ipmi_password": "******",
|
||||||
"raid_config" : {},
|
"ipmi_username": "ADMIN"
|
||||||
"uuid" : "14deb747-127c-4fe4-be9d-906c43006cd4",
|
},
|
||||||
"maintenance_reason" : null,
|
"driver_internal_info": {},
|
||||||
"target_provision_state" : null,
|
"extra": {},
|
||||||
"ports" : [
|
"inspection_finished_at": null,
|
||||||
{
|
"inspection_started_at": null,
|
||||||
"rel" : "self",
|
"instance_info": {},
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/14deb747-127c-4fe4-be9d-906c43006cd4/ports"
|
"instance_uuid": null,
|
||||||
},
|
"last_error": null,
|
||||||
{
|
"links": [
|
||||||
"rel" : "bookmark",
|
{
|
||||||
"href" : "http://127.0.0.1:6385/nodes/14deb747-127c-4fe4-be9d-906c43006cd4/ports"
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
}
|
"rel": "self"
|
||||||
],
|
},
|
||||||
"power_state" : null,
|
{
|
||||||
"instance_uuid" : null,
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"name" : "test_node_",
|
"rel": "bookmark"
|
||||||
"properties" : {},
|
}
|
||||||
"clean_step" : {},
|
],
|
||||||
"console_enabled" : false,
|
"maintenance": false,
|
||||||
"driver_internal_info" : {},
|
"maintenance_reason": null,
|
||||||
"target_power_state" : null,
|
"name": "test_node",
|
||||||
"inspection_started_at" : null,
|
"network_interface": "flat",
|
||||||
"provision_state" : "enroll",
|
"ports": [
|
||||||
"provision_updated_at" : null,
|
{
|
||||||
"driver_info" : {},
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
"inspection_finished_at" : null,
|
"rel": "self"
|
||||||
"updated_at" : null,
|
},
|
||||||
"links" : [
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
"rel" : "self",
|
"rel": "bookmark"
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/14deb747-127c-4fe4-be9d-906c43006cd4"
|
}
|
||||||
},
|
],
|
||||||
{
|
"power_state": null,
|
||||||
"href" : "http://127.0.0.1:6385/nodes/14deb747-127c-4fe4-be9d-906c43006cd4",
|
"properties": {},
|
||||||
"rel" : "bookmark"
|
"provision_state": "enroll",
|
||||||
}
|
"provision_updated_at": null,
|
||||||
],
|
"raid_config": {},
|
||||||
"target_raid_config" : {},
|
"reservation": null,
|
||||||
"maintenance" : false,
|
"resource_class": null,
|
||||||
"states" : [
|
"states": [
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/14deb747-127c-4fe4-be9d-906c43006cd4/states",
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"rel" : "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/nodes/14deb747-127c-4fe4-be9d-906c43006cd4/states",
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"target_power_state": null,
|
||||||
|
"target_provision_state": null,
|
||||||
|
"target_raid_config": {},
|
||||||
|
"updated_at": null,
|
||||||
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"boot_device": "pxe",
|
||||||
|
"persistent": false
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"last_error" : "",
|
"console_enabled": false,
|
||||||
"target_raid_config" : {},
|
"last_error": null,
|
||||||
"target_power_state" : null,
|
"power_state": "power off",
|
||||||
"console_enabled" : false,
|
"provision_state": "available",
|
||||||
"target_provision_state" : null,
|
"provision_updated_at": "2016-08-18T22:28:49.382814+00:00",
|
||||||
"provision_updated_at" : null,
|
"raid_config": {},
|
||||||
"power_state" : "power off",
|
"target_power_state": null,
|
||||||
"raid_config" : {},
|
"target_provision_state": null,
|
||||||
"provision_state" : "available"
|
"target_raid_config": {}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
{
|
{
|
||||||
"supported_boot_devices" : [
|
"supported_boot_devices": [
|
||||||
"pxe",
|
"pxe"
|
||||||
"disk",
|
]
|
||||||
"cdrom",
|
|
||||||
"bios",
|
|
||||||
"safe"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
{
|
{
|
||||||
"ports" : [
|
"ports": [
|
||||||
{
|
{
|
||||||
"extra" : {},
|
"address": "22:22:22:22:22:22",
|
||||||
"address" : "22:22:22:22:22:22",
|
"created_at": "2016-08-18T22:28:49.946416+00:00",
|
||||||
"updated_at" : "2016-05-05T22:48:52+00:00",
|
"extra": {},
|
||||||
"node_uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"internal_info": {},
|
||||||
"links" : [
|
"links": [
|
||||||
{
|
{
|
||||||
"rel" : "self",
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"created_at" : "2016-05-05T22:30:57+00:00",
|
"local_link_connection": {
|
||||||
"uuid" : "c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"port_id": "Ethernet3/1",
|
||||||
"pxe_enabled": true,
|
"switch_id": "0a:1b:2c:3d:4e:5f",
|
||||||
"local_link_connection": {
|
"switch_info": "switch1"
|
||||||
"switch_id": "0a:1b:2c:3d:4e:5f",
|
},
|
||||||
"port_id": "Ethernet3/1",
|
"node_uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"switch_info": "switch1"
|
"pxe_enabled": true,
|
||||||
},
|
"updated_at": "2016-08-18T22:28:50.148137+00:00",
|
||||||
"internal_info": {}
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"ports" : [
|
"ports": [
|
||||||
{
|
{
|
||||||
"uuid" : "c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"address": "22:22:22:22:22:22",
|
||||||
"links" : [
|
"links": [
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"rel" : "self"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"href" : "http://127.0.0.1:6385/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"rel" : "bookmark"
|
"rel": "bookmark"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"address" : "22:22:22:22:22:22"
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
3
api-ref/source/samples/node-set-available-state.json
Normal file
3
api-ref/source/samples/node-set-available-state.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"target": "provide"
|
||||||
|
}
|
@ -2,11 +2,11 @@
|
|||||||
"target": "clean",
|
"target": "clean",
|
||||||
"clean_steps": [
|
"clean_steps": [
|
||||||
{
|
{
|
||||||
'interface': 'deploy',
|
"interface": "deploy",
|
||||||
'step': 'upgrade_firmware',
|
"step": "upgrade_firmware",
|
||||||
'args': {
|
"args": {
|
||||||
'force': True
|
"force": "True"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
3
api-ref/source/samples/node-set-manage-state.json
Normal file
3
api-ref/source/samples/node-set-manage-state.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"target": "manage"
|
||||||
|
}
|
@ -1,71 +1,65 @@
|
|||||||
{
|
{
|
||||||
"target_provision_state" : null,
|
"clean_step": {},
|
||||||
"instance_info" : {},
|
"console_enabled": false,
|
||||||
"updated_at" : "2016-05-05T00:28:40+00:00",
|
"created_at": "2016-08-18T22:28:48.643434+00:00",
|
||||||
"maintenance_reason" : null,
|
"driver": "fake",
|
||||||
"inspection_started_at" : null,
|
"driver_info": {
|
||||||
"target_power_state" : null,
|
"ipmi_password": "******",
|
||||||
"ports" : [
|
"ipmi_username": "ADMIN"
|
||||||
{
|
},
|
||||||
"rel" : "self",
|
"driver_internal_info": {
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports"
|
"clean_steps": null
|
||||||
},
|
},
|
||||||
{
|
"extra": {},
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports",
|
"inspection_finished_at": null,
|
||||||
"rel" : "bookmark"
|
"inspection_started_at": null,
|
||||||
}
|
"instance_info": {},
|
||||||
],
|
"instance_uuid": null,
|
||||||
"maintenance" : false,
|
"last_error": null,
|
||||||
"driver" : "fake",
|
"links": [
|
||||||
"provision_state" : "available",
|
{
|
||||||
"reservation" : null,
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"rel": "self"
|
||||||
"extra" : {
|
},
|
||||||
"foo" : "bar"
|
{
|
||||||
},
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"driver_internal_info" : {},
|
"rel": "bookmark"
|
||||||
"states" : [
|
}
|
||||||
{
|
],
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states",
|
"maintenance": false,
|
||||||
"rel" : "self"
|
"maintenance_reason": null,
|
||||||
},
|
"name": "test_node",
|
||||||
{
|
"network_interface": "flat",
|
||||||
"rel" : "bookmark",
|
"ports": [
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states"
|
{
|
||||||
}
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
],
|
"rel": "self"
|
||||||
"target_raid_config" : {},
|
},
|
||||||
"console_enabled" : false,
|
{
|
||||||
"clean_step" : {},
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
"last_error" : null,
|
"rel": "bookmark"
|
||||||
"links" : [
|
}
|
||||||
{
|
],
|
||||||
"rel" : "self",
|
"power_state": "power off",
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb"
|
"properties": {},
|
||||||
},
|
"provision_state": "available",
|
||||||
{
|
"provision_updated_at": "2016-08-18T22:28:49.382814+00:00",
|
||||||
"rel" : "bookmark",
|
"raid_config": {},
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb"
|
"reservation": null,
|
||||||
}
|
"resource_class": null,
|
||||||
],
|
"states": [
|
||||||
"provision_updated_at" : null,
|
{
|
||||||
"name" : "test_node",
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"properties" : {
|
"rel": "self"
|
||||||
"local_gb" : 10,
|
},
|
||||||
"cpu_arch" : "x86_64",
|
{
|
||||||
"cpus" : 1,
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"memory_mb" : 1024
|
"rel": "bookmark"
|
||||||
},
|
}
|
||||||
"power_state" : "power off",
|
],
|
||||||
"created_at" : "2016-04-20T16:51:03+00:00",
|
"target_power_state": null,
|
||||||
"instance_uuid" : null,
|
"target_provision_state": null,
|
||||||
"raid_config" : {},
|
"target_raid_config": {},
|
||||||
"driver_info" : {
|
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
||||||
"ipmi_password" : "***",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
"ipmi_username" : "ADMIN",
|
|
||||||
"ipmi_address" : "1.2.3.4",
|
|
||||||
"deploy_kernel" : "http://127.0.0.1/images/kernel",
|
|
||||||
"deploy_ramdisk" : "http://127.0.0.1/images/ramdisk"
|
|
||||||
},
|
|
||||||
"inspection_finished_at" : null
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"op" : "replace",
|
"op": "replace",
|
||||||
"path" : "/driver_info/ipmi_username",
|
"path": "/driver_info/ipmi_username",
|
||||||
"value" : "OPERATOR"
|
"value": "OPERATOR"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value" : "10.0.0.123",
|
"op": "add",
|
||||||
"op" : "replace",
|
"path": "/driver_info/deploy_kernel",
|
||||||
"path" : "/driver_info/ipmi_address"
|
"value": "http://127.0.0.1/images/kernel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"op": "add",
|
||||||
|
"path": "/driver_info/deploy_ramdisk",
|
||||||
|
"value": "http://127.0.0.1/images/ramdisk"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,71 +1,67 @@
|
|||||||
{
|
{
|
||||||
"properties" : {
|
"clean_step": {},
|
||||||
"memory_mb" : 1024,
|
"console_enabled": false,
|
||||||
"cpus" : 1,
|
"created_at": "2016-08-18T22:28:48+00:00",
|
||||||
"local_gb" : 10,
|
"driver": "fake",
|
||||||
"cpu_arch" : "x86_64"
|
"driver_info": {
|
||||||
},
|
"deploy_kernel": "http://127.0.0.1/images/kernel",
|
||||||
"maintenance_reason" : null,
|
"deploy_ramdisk": "http://127.0.0.1/images/ramdisk",
|
||||||
"instance_info" : {},
|
"ipmi_password": "******",
|
||||||
"states" : [
|
"ipmi_username": "OPERATOR"
|
||||||
{
|
},
|
||||||
"rel" : "self",
|
"driver_internal_info": {
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states"
|
"clean_steps": null
|
||||||
},
|
},
|
||||||
{
|
"extra": {},
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states",
|
"inspection_finished_at": null,
|
||||||
"rel" : "bookmark"
|
"inspection_started_at": null,
|
||||||
}
|
"instance_info": {},
|
||||||
],
|
"instance_uuid": null,
|
||||||
"driver_internal_info" : {},
|
"last_error": null,
|
||||||
"power_state" : "power off",
|
"links": [
|
||||||
"console_enabled" : false,
|
{
|
||||||
"last_error" : null,
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"target_raid_config" : {},
|
"rel": "self"
|
||||||
"maintenance" : false,
|
},
|
||||||
"provision_state" : "available",
|
{
|
||||||
"uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"links" : [
|
"rel": "bookmark"
|
||||||
{
|
}
|
||||||
"rel" : "self",
|
],
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb"
|
"maintenance": true,
|
||||||
},
|
"maintenance_reason": "Replacing the hard drive",
|
||||||
{
|
"name": "test_node",
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"network_interface": "flat",
|
||||||
"rel" : "bookmark"
|
"ports": [
|
||||||
}
|
{
|
||||||
],
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
"clean_step" : {},
|
"rel": "self"
|
||||||
"created_at" : "2016-04-20T16:51:03+00:00",
|
},
|
||||||
"instance_uuid" : null,
|
{
|
||||||
"target_power_state" : null,
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
"driver_info" : {
|
"rel": "bookmark"
|
||||||
"ipmi_address" : "10.0.0.123",
|
}
|
||||||
"deploy_ramdisk" : "http://127.0.0.1/images/ramdisk",
|
],
|
||||||
"deploy_kernel" : "http://127.0.0.1/images/kernel",
|
"power_state": "power off",
|
||||||
"ipmi_password" : "***",
|
"properties": {},
|
||||||
"ipmi_username" : "OPERATOR"
|
"provision_state": "available",
|
||||||
},
|
"provision_updated_at": "2016-08-18T22:28:49+00:00",
|
||||||
"inspection_started_at" : null,
|
"raid_config": {},
|
||||||
"raid_config" : {},
|
"reservation": null,
|
||||||
"inspection_finished_at" : null,
|
"resource_class": null,
|
||||||
"reservation" : null,
|
"states": [
|
||||||
"target_provision_state" : null,
|
{
|
||||||
"extra" : {
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"foo" : "bar"
|
"rel": "self"
|
||||||
},
|
},
|
||||||
"driver" : "fake",
|
{
|
||||||
"name" : "test_node",
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"updated_at" : "2016-05-05T18:43:41+00:00",
|
"rel": "bookmark"
|
||||||
"ports" : [
|
}
|
||||||
{
|
],
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports",
|
"target_power_state": null,
|
||||||
"rel" : "self"
|
"target_provision_state": null,
|
||||||
},
|
"target_raid_config": {},
|
||||||
{
|
"updated_at": "2016-08-18T22:28:50+00:00",
|
||||||
"rel" : "bookmark",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"provision_updated_at" : null
|
|
||||||
}
|
}
|
||||||
|
7
api-ref/source/samples/node-update-driver.json
Normal file
7
api-ref/source/samples/node-update-driver.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"op" : "replace",
|
||||||
|
"path" : "/driver",
|
||||||
|
"value" : "fake"
|
||||||
|
}
|
||||||
|
]
|
@ -1,27 +1,26 @@
|
|||||||
{
|
{
|
||||||
"management" : {
|
"boot": {
|
||||||
"result" : true
|
"result": true
|
||||||
},
|
},
|
||||||
"inspect" : {
|
"console": {
|
||||||
"result" : null,
|
"result": true
|
||||||
"reason" : "not supported"
|
},
|
||||||
},
|
"deploy": {
|
||||||
"power" : {
|
"result": true
|
||||||
"result" : true
|
},
|
||||||
},
|
"inspect": {
|
||||||
"raid" : {
|
"result": true
|
||||||
"result" : true
|
},
|
||||||
},
|
"management": {
|
||||||
"boot" : {
|
"result": true
|
||||||
"result" : false,
|
},
|
||||||
"reason" : "Cannot validate image information for node ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb because one or more parameters are missing from its instance_info.. Missing are: ['ramdisk', 'kernel', 'image_source']"
|
"network": {
|
||||||
},
|
"result": true
|
||||||
"console" : {
|
},
|
||||||
"result" : false,
|
"power": {
|
||||||
"reason" : "Missing 'ipmi_terminal_port' parameter in node's driver_info."
|
"result": true
|
||||||
},
|
},
|
||||||
"deploy" : {
|
"raid": {
|
||||||
"reason" : "Cannot validate image information for node ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb because one or more parameters are missing from its instance_info.. Missing are: ['ramdisk', 'kernel', 'image_source']",
|
"result": true
|
||||||
"result" : false
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,26 +1,29 @@
|
|||||||
{
|
{
|
||||||
"bmc_reset" : {
|
"bmc_reset": {
|
||||||
"async" : true,
|
"async": true,
|
||||||
"description" : "",
|
"attach": false,
|
||||||
"http_methods" : [
|
"description": "",
|
||||||
"POST"
|
"http_methods": [
|
||||||
],
|
"POST"
|
||||||
"attach" : false
|
],
|
||||||
},
|
"require_exclusive_lock": true
|
||||||
"send_raw" : {
|
},
|
||||||
"description" : "",
|
"heartbeat": {
|
||||||
"attach" : false,
|
"async": true,
|
||||||
"http_methods" : [
|
"attach": false,
|
||||||
"POST"
|
"description": "",
|
||||||
],
|
"http_methods": [
|
||||||
"async" : true
|
"POST"
|
||||||
},
|
],
|
||||||
"heartbeat" : {
|
"require_exclusive_lock": true
|
||||||
"async" : true,
|
},
|
||||||
"attach" : false,
|
"send_raw": {
|
||||||
"http_methods" : [
|
"async": true,
|
||||||
"POST"
|
"attach": false,
|
||||||
],
|
"description": "",
|
||||||
"description" : ""
|
"http_methods": [
|
||||||
}
|
"POST"
|
||||||
|
],
|
||||||
|
"require_exclusive_lock": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,75 +1,69 @@
|
|||||||
{
|
{
|
||||||
"nodes" : [
|
"nodes": [
|
||||||
{
|
{
|
||||||
"reservation" : null,
|
"clean_step": {},
|
||||||
"driver" : "agent_ipmitool",
|
"console_enabled": false,
|
||||||
"uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"created_at": "2016-08-18T22:28:48.643434+00:00",
|
||||||
"extra" : {
|
"driver": "fake",
|
||||||
"foo" : "bar"
|
"driver_info": {
|
||||||
},
|
"ipmi_password": "******",
|
||||||
"provision_updated_at" : null,
|
"ipmi_username": "ADMIN"
|
||||||
"provision_state" : "available",
|
},
|
||||||
"clean_step" : {},
|
"driver_internal_info": {
|
||||||
"maintenance" : false,
|
"clean_steps": null
|
||||||
"driver_internal_info" : {},
|
},
|
||||||
"console_enabled" : false,
|
"extra": {},
|
||||||
"raid_config" : {},
|
"inspection_finished_at": null,
|
||||||
"target_raid_config" : {},
|
"inspection_started_at": null,
|
||||||
"inspection_started_at" : null,
|
"instance_info": {},
|
||||||
"instance_info" : {},
|
"instance_uuid": null,
|
||||||
"states" : [
|
"last_error": null,
|
||||||
{
|
"links": [
|
||||||
"rel" : "self",
|
{
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states"
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
},
|
"rel": "self"
|
||||||
{
|
},
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/states",
|
{
|
||||||
"rel" : "bookmark"
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
}
|
"rel": "bookmark"
|
||||||
],
|
}
|
||||||
"last_error" : null,
|
],
|
||||||
"properties" : {
|
"maintenance": false,
|
||||||
"cpus" : 1,
|
"maintenance_reason": null,
|
||||||
"memory_mb" : 1024,
|
"name": "test_node",
|
||||||
"local_gb" : 10,
|
"network_interface": "flat",
|
||||||
"cpu_arch" : "x86_64"
|
"ports": [
|
||||||
},
|
{
|
||||||
"links" : [
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
{
|
"rel": "self"
|
||||||
"rel" : "self",
|
},
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb"
|
{
|
||||||
},
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/ports",
|
||||||
{
|
"rel": "bookmark"
|
||||||
"rel" : "bookmark",
|
}
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb"
|
],
|
||||||
}
|
"power_state": "power off",
|
||||||
],
|
"properties": {},
|
||||||
"name" : "test_node",
|
"provision_state": "available",
|
||||||
"ports" : [
|
"provision_updated_at": "2016-08-18T22:28:49.382814+00:00",
|
||||||
{
|
"raid_config": {},
|
||||||
"rel" : "self",
|
"reservation": null,
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports"
|
"resource_class": null,
|
||||||
},
|
"states": [
|
||||||
{
|
{
|
||||||
"rel" : "bookmark",
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb/ports"
|
"rel": "self"
|
||||||
}
|
},
|
||||||
],
|
{
|
||||||
"created_at" : "2016-04-20T16:51:03+00:00",
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d/states",
|
||||||
"updated_at" : "2016-05-04T23:24:20+00:00",
|
"rel": "bookmark"
|
||||||
"maintenance_reason" : null,
|
}
|
||||||
"inspection_finished_at" : null,
|
],
|
||||||
"driver_info" : {
|
"target_power_state": null,
|
||||||
"deploy_kernel" : "http://127.0.0.1/images/kernel",
|
"target_provision_state": null,
|
||||||
"ipmi_address" : "1.2.3.4",
|
"target_raid_config": {},
|
||||||
"deploy_ramdisk" : "http://127.0.0.1/images/ramdisk",
|
"updated_at": "2016-08-18T22:28:49.653974+00:00",
|
||||||
"ipmi_password" : "******",
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
"ipmi_username" : "ADMIN",
|
}
|
||||||
},
|
]
|
||||||
"instance_uuid" : null,
|
|
||||||
"power_state" : "power off",
|
|
||||||
"target_power_state" : null,
|
|
||||||
"target_provision_state" : null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
{
|
{
|
||||||
"nodes" : [
|
"nodes": [
|
||||||
{
|
{
|
||||||
"provision_state" : "available",
|
"instance_uuid": null,
|
||||||
"name" : "test_node",
|
"links": [
|
||||||
"maintenance" : false,
|
{
|
||||||
"uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"href": "http://127.0.0.1:6385/v1/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"links" : [
|
"rel": "self"
|
||||||
{
|
},
|
||||||
"href" : "http://127.0.0.1:6385/v1/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
{
|
||||||
"rel" : "self"
|
"href": "http://127.0.0.1:6385/nodes/6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
},
|
"rel": "bookmark"
|
||||||
{
|
}
|
||||||
"href" : "http://127.0.0.1:6385/nodes/ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
],
|
||||||
"rel" : "bookmark"
|
"maintenance": false,
|
||||||
}
|
"name": "test_node",
|
||||||
],
|
"power_state": "power off",
|
||||||
"instance_uuid" : null,
|
"provision_state": "available",
|
||||||
"power_state" : "power off"
|
"uuid": "6d85703a-565d-469a-96ce-30b6de53079d"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"node_uuid": "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"node_uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"address": "11:11:11:11:11:11",
|
"address": "11:11:11:11:11:11",
|
||||||
"local_link_connection": {
|
"local_link_connection": {
|
||||||
"switch_id": "0a:1b:2c:3d:4e:5f",
|
"switch_id": "0a:1b:2c:3d:4e:5f",
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
{
|
{
|
||||||
"created_at" : "2016-05-05T22:30:57.924480+00:00",
|
"address": "11:11:11:11:11:11",
|
||||||
"links" : [
|
"created_at": "2016-08-18T22:28:49.946416+00:00",
|
||||||
{
|
"extra": {},
|
||||||
"rel" : "self",
|
"internal_info": {},
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2"
|
"links": [
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"rel": "self"
|
||||||
"rel" : "bookmark"
|
},
|
||||||
}
|
{
|
||||||
],
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"extra" : {},
|
"rel": "bookmark"
|
||||||
"address" : "11:11:11:11:11:11",
|
}
|
||||||
"updated_at" : null,
|
],
|
||||||
"node_uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"local_link_connection": {
|
||||||
"uuid" : "c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"port_id": "Ethernet3/1",
|
||||||
"pxe_enabled": true,
|
"switch_id": "0a:1b:2c:3d:4e:5f",
|
||||||
"local_link_connection": {
|
"switch_info": "switch1"
|
||||||
"switch_id": "0a:1b:2c:3d:4e:5f",
|
},
|
||||||
"port_id": "Ethernet3/1",
|
"node_uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"switch_info": "switch1"
|
"pxe_enabled": true,
|
||||||
},
|
"updated_at": null,
|
||||||
"internal_info": {}
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
}
|
}
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
{
|
{
|
||||||
"ports" : [
|
"ports": [
|
||||||
{
|
{
|
||||||
"node_uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"address": "11:11:11:11:11:11",
|
||||||
"extra" : {},
|
"created_at": "2016-08-18T22:28:49.946416+00:00",
|
||||||
"updated_at" : "2016-05-05T22:48:52+00:00",
|
"extra": {},
|
||||||
"uuid" : "c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"internal_info": {},
|
||||||
"address" : "22:22:22:22:22:22",
|
"links": [
|
||||||
"links" : [
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"rel": "self"
|
||||||
"rel" : "self"
|
},
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"rel": "bookmark"
|
||||||
"rel" : "bookmark"
|
}
|
||||||
}
|
],
|
||||||
],
|
"local_link_connection": {
|
||||||
"created_at" : "2016-05-05T22:30:57+00:00",
|
"port_id": "Ethernet3/1",
|
||||||
"pxe_enabled": true,
|
"switch_id": "0a:1b:2c:3d:4e:5f",
|
||||||
"local_link_connection": {
|
"switch_info": "switch1"
|
||||||
"switch_id": "0a:1b:2c:3d:4e:5f",
|
},
|
||||||
"port_id": "Ethernet3/1",
|
"node_uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"switch_info": "switch1"
|
"pxe_enabled": true,
|
||||||
},
|
"updated_at": null,
|
||||||
"internal_info": {}
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
18
api-ref/source/samples/port-list-respone.json
Normal file
18
api-ref/source/samples/port-list-respone.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"ports": [
|
||||||
|
{
|
||||||
|
"address": "11:11:11:11:11:11",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
|
"rel": "bookmark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,25 +1,25 @@
|
|||||||
{
|
{
|
||||||
"node_uuid" : "ecddf26d-8c9c-4ddf-8f45-fd57e09ccddb",
|
"address": "22:22:22:22:22:22",
|
||||||
"extra" : {},
|
"created_at": "2016-08-18T22:28:49+00:00",
|
||||||
"updated_at" : "2016-05-05T22:48:52+00:00",
|
"extra": {},
|
||||||
"uuid" : "c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"internal_info": {},
|
||||||
"address" : "22:22:22:22:22:22",
|
"links": [
|
||||||
"links" : [
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/v1/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/v1/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"rel": "self"
|
||||||
"rel" : "self"
|
},
|
||||||
},
|
{
|
||||||
{
|
"href": "http://127.0.0.1:6385/ports/d2b30520-907d-46c8-bfee-c5586e6fb3a1",
|
||||||
"href" : "http://127.0.0.1:6385/ports/c933a251-486f-4c27-adb2-8b5f59bd9cd2",
|
"rel": "bookmark"
|
||||||
"rel" : "bookmark"
|
}
|
||||||
}
|
],
|
||||||
],
|
"local_link_connection": {
|
||||||
"created_at" : "2016-05-05T22:30:57+00:00",
|
"port_id": "Ethernet3/1",
|
||||||
"pxe_enabled": true,
|
"switch_id": "0a:1b:2c:3d:4e:5f",
|
||||||
"local_link_connection": {
|
"switch_info": "switch1"
|
||||||
"switch_id": "0a:1b:2c:3d:4e:5f",
|
},
|
||||||
"port_id": "Ethernet3/1",
|
"node_uuid": "6d85703a-565d-469a-96ce-30b6de53079d",
|
||||||
"switch_info": "switch1"
|
"pxe_enabled": true,
|
||||||
},
|
"updated_at": "2016-08-18T22:28:50+00:00",
|
||||||
"internal_info": {}
|
"uuid": "d2b30520-907d-46c8-bfee-c5586e6fb3a1"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user