V1 Web API

Chassis

GET /v1/chassis/

Retrieve a list of chassis.

Parameters:
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

ChassisCollection

GET /v1/chassis/(chassis_uuid)/

Retrieve information about the given chassis.

Parameters:
  • chassis_uuid (uuid) – UUID of a chassis.
Return type:

Chassis

POST /v1/chassis/

Create a new chassis.

Parameters:
  • chassis (Chassis) – a chassis within the request body.
Return type:

Chassis

DELETE /v1/chassis/

Delete a chassis.

Parameters:
  • chassis_uuid (uuid) – UUID of a chassis.
PATCH /v1/chassis/

Update an existing chassis.

Parameters:
  • chassis_uuid (uuid) – UUID of a chassis.
  • patch (list(ChassisPatchType)) – a json PATCH document to apply to this chassis.
Return type:

Chassis

GET /v1/chassis/detail/

Retrieve a list of chassis with detail.

Parameters:
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

ChassisCollection

type ChassisCollection

API representation of a collection of chassis.

Data samples:

Json
{
    "chassis": [
        {
            "description": "Sample chassis",
            "links": [
                {
                    "href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
                    "rel": "self"
                },
                {
                    "href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
                    "rel": "bookmark"
                }
            ],
            "uuid": "eaaca217-e7d8-47b4-bb41-3f99f20eed89"
        }
    ]
}
XML
<value>
  <chassis>
    <item>
      <description>Sample chassis</description>
      <links>
        <item>
          <href>http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89</href>
          <rel>self</rel>
        </item>
        <item>
          <href>http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89</href>
          <rel>bookmark</rel>
        </item>
      </links>
      <uuid>eaaca217-e7d8-47b4-bb41-3f99f20eed89</uuid>
    </item>
  </chassis>
</value>
chassis
Type:list(Chassis)

A list containing chassis objects

type Chassis

API representation of a chassis.

This class enforces type checking and value constraints, and converts between the internal object model and the API representation of a chassis.

Data samples:

Json
{
    "created_at": "2000-01-01T12:00:00",
    "description": "Sample chassis",
    "extra": {},
    "links": [
        {
            "href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
            "rel": "self"
        },
        {
            "href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
            "rel": "bookmark"
        }
    ],
    "nodes": [
        {
            "href": "http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes",
            "rel": "self"
        },
        {
            "href": "http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes",
            "rel": "bookmark"
        }
    ],
    "updated_at": null,
    "uuid": "eaaca217-e7d8-47b4-bb41-3f99f20eed89"
}
XML
<value>
  <created_at>2000-01-01T12:00:00</created_at>
  <description>Sample chassis</description>
  <extra />
  <links>
    <item>
      <href>http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89</href>
      <rel>self</rel>
    </item>
    <item>
      <href>http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89</href>
      <rel>bookmark</rel>
    </item>
  </links>
  <nodes>
    <item>
      <href>http://localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes</href>
      <rel>self</rel>
    </item>
    <item>
      <href>http://localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89/nodes</href>
      <rel>bookmark</rel>
    </item>
  </nodes>
  <updated_at nil="true" />
  <uuid>eaaca217-e7d8-47b4-bb41-3f99f20eed89</uuid>
</value>
description
Type:unicode

The description of the chassis

extra
Type:dict(unicode: None)

The metadata of the chassis

Type:list(Link)

A list containing a self link and associated chassis links

nodes
Type:list(Link)

Links to the collection of nodes contained in this chassis

uuid
Type:uuid

The UUID of the chassis

Drivers

GET /v1/drivers/

Retrieve a list of drivers.

Return type:DriverList
GET /v1/drivers/(driver_name)/

Retrieve a single driver.

Return type:Driver
type DriverList

API representation of a list of drivers.

Data samples:

Json
{
    "drivers": [
        {
            "hosts": [
                "fake-host"
            ],
            "name": "sample-driver"
        }
    ]
}
XML
<value>
  <drivers>
    <item>
      <hosts>
        <item>fake-host</item>
      </hosts>
      <name>sample-driver</name>
    </item>
  </drivers>
</value>
drivers
Type:list(Driver)

A list containing drivers objects

type Driver

API representation of a driver.

Data samples:

Json
{
    "hosts": [
        "fake-host"
    ],
    "name": "sample-driver"
}
XML
<value>
  <hosts>
    <item>fake-host</item>
  </hosts>
  <name>sample-driver</name>
</value>
hosts
Type:list(unicode)

A list of active conductors that support this driver

Type:list(Link)

A list containing self and bookmark links

name
Type:unicode

The name of the driver

Nodes

GET /v1/nodes/(from_chassis)/

Retrieve a list of nodes.

Parameters:
  • chassis_uuid (uuid) – Optional UUID of a chassis, to get only nodes for that chassis.
  • instance_uuid (uuid) – Optional UUID of an instance, to find the node associated with that instance.
  • associated (boolean) – Optional boolean whether to return a list of associated or unassociated nodes. May be combined with other parameters.
  • maintenance (boolean) – Optional boolean value that indicates whether to get nodes in maintenance mode (“True”), or not in maintenance mode (“False”).
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

NodeCollection

GET /v1/nodes/(from_chassis)/(node_uuid)/

Retrieve information about the given node.

Parameters:
  • node_uuid (uuid) – UUID of a node.
Return type:

Node

POST /v1/nodes/(from_chassis)/

Create a new node.

Parameters:
  • node (Node) – a node within the request body.
Return type:

Node

DELETE /v1/nodes/(from_chassis)/

Delete a node.

Parameters:
  • node_uuid (uuid) – UUID of a node.
PATCH /v1/nodes/(from_chassis)/

Update an existing node.

Parameters:
  • node_uuid (uuid) – UUID of a node.
  • patch (list(NodePatchType)) – a json PATCH document to apply to this node.
Return type:

Node

GET /v1/nodes/(from_chassis)/detail/

Retrieve a list of nodes with detail.

Parameters:
  • chassis_uuid (uuid) – Optional UUID of a chassis, to get only nodes for that chassis.
  • instance_uuid (uuid) – Optional UUID of an instance, to find the node associated with that instance.
  • associated (boolean) – Optional boolean whether to return a list of associated or unassociated nodes. May be combined with other parameters.
  • maintenance (boolean) – Optional boolean value that indicates whether to get nodes in maintenance mode (“True”), or not in maintenance mode (“False”).
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

NodeCollection

GET /v1/nodes/(from_chassis)/validate/

Validate the driver interfaces. :type node_uuid: uuid :return type: unicode

type NodeCollection

API representation of a collection of nodes.

Data samples:

Json
{
    "nodes": [
        {
            "instance_uuid": "dcf1fbc5-93fc-4596-9395-b80572f6267b",
            "links": [
                {
                    "href": "http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123",
                    "rel": "self"
                },
                {
                    "href": "http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123",
                    "rel": "bookmark"
                }
            ],
            "power_state": "power on",
            "provision_state": "active",
            "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"
        }
    ]
}
XML
<value>
  <nodes>
    <item>
      <instance_uuid>dcf1fbc5-93fc-4596-9395-b80572f6267b</instance_uuid>
      <links>
        <item>
          <href>http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123</href>
          <rel>self</rel>
        </item>
        <item>
          <href>http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123</href>
          <rel>bookmark</rel>
        </item>
      </links>
      <power_state>power on</power_state>
      <provision_state>active</provision_state>
      <uuid>1be26c0b-03f2-4d2e-ae87-c02d7f33c123</uuid>
    </item>
  </nodes>
</value>
nodes
Type:list(Node)

A list containing nodes objects

type Node

API representation of a bare metal node.

This class enforces type checking and value constraints, and converts between the internal object model and the API representation of a node.

Data samples:

Json
{
    "chassis_uuid": "edcad704-b2da-41d5-96d9-afd580ecfa12",
    "console_enabled": null,
    "created_at": "2000-01-01T12:00:00",
    "driver": "fake",
    "driver_info": {},
    "extra": {},
    "instance_uuid": "dcf1fbc5-93fc-4596-9395-b80572f6267b",
    "last_error": null,
    "links": [
        {
            "href": "http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123",
            "rel": "self"
        },
        {
            "href": "http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123",
            "rel": "bookmark"
        }
    ],
    "maintenance": null,
    "ports": [
        {
            "href": "http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports",
            "rel": "self"
        },
        {
            "href": "http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports",
            "rel": "bookmark"
        }
    ],
    "power_state": "power on",
    "properties": {
        "cpus": "1",
        "local_gb": "10",
        "memory_mb": "1024"
    },
    "provision_state": "active",
    "provision_updated_at": "2000-01-01T12:00:00",
    "reservation": null,
    "target_power_state": null,
    "target_provision_state": null,
    "updated_at": "2000-01-01T12:00:00",
    "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"
}
XML
<value>
  <chassis_uuid>edcad704-b2da-41d5-96d9-afd580ecfa12</chassis_uuid>
  <console_enabled nil="true" />
  <created_at>2000-01-01T12:00:00</created_at>
  <driver>fake</driver>
  <driver_info />
  <extra />
  <instance_uuid>dcf1fbc5-93fc-4596-9395-b80572f6267b</instance_uuid>
  <last_error nil="true" />
  <links>
    <item>
      <href>http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123</href>
      <rel>self</rel>
    </item>
    <item>
      <href>http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123</href>
      <rel>bookmark</rel>
    </item>
  </links>
  <maintenance nil="true" />
  <ports>
    <item>
      <href>http://localhost:6385/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports</href>
      <rel>self</rel>
    </item>
    <item>
      <href>http://localhost:6385/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports</href>
      <rel>bookmark</rel>
    </item>
  </ports>
  <power_state>power on</power_state>
  <properties>
    <item>
      <key>memory_mb</key>
      <value>1024</value>
    </item>
    <item>
      <key>local_gb</key>
      <value>10</value>
    </item>
    <item>
      <key>cpus</key>
      <value>1</value>
    </item>
  </properties>
  <provision_state>active</provision_state>
  <provision_updated_at>2000-01-01T12:00:00</provision_updated_at>
  <reservation nil="true" />
  <target_power_state nil="true" />
  <target_provision_state nil="true" />
  <updated_at>2000-01-01T12:00:00</updated_at>
  <uuid>1be26c0b-03f2-4d2e-ae87-c02d7f33c123</uuid>
</value>
chassis_uuid
Type:uuid

The UUID of the chassis this node belongs

console_enabled
Type:boolean

Indicates whether the console access is enabled or disabled on the node.

driver
Type:unicode

The driver responsible for controlling the node

driver_info
Type:dict(unicode: None)

This node’s driver configuration

extra
Type:dict(unicode: None)

This node’s meta data

instance_uuid
Type:uuid

The UUID of the instance in nova-compute

last_error
Type:unicode

Any error from the most recent (last) asynchronous transaction that

Type:list(Link)

A list containing a self link and associated node links

maintenance
Type:boolean

Indicates whether the node is in maintenance mode.

ports
Type:list(Link)

Links to the collection of ports on this node

power_state
Type:unicode

Represent the current (not transition) power state of the node

properties
Type:dict(unicode: None)

The physical characteristics of this node

provision_state
Type:unicode

Represent the current (not transition) provision state of the node

provision_updated_at
Type:datetime

The UTC date and time of the last provision state change

reservation
Type:unicode

The hostname of the conductor that holds an exclusive lock on the node.

target_power_state
Type:unicode

The user modified desired power state of the node.

target_provision_state
Type:unicode

The user modified desired provision state of the node.

uuid
Type:uuid

Unique UUID for this node

NodeStates

GET /v1/nodes/<uuid>/state/

List the states of the node.

Parameters:
  • node_uuid (uuid) – UUID of a node.
Return type:

NodeStates

PUT /v1/nodes/<uuid>/state/power/

Set the power state of the node.

Parameters:
  • node_uuid (uuid) – UUID of a node.
  • target (unicode) – The desired power state of the node.
Raises:

ClientSideError (HTTP 409) if a power operation is already in progress.

Raises:

InvalidStateRequested (HTTP 400) if the requested target state is not valid.

PUT /v1/nodes/<uuid>/state/provision/

Asynchronous trigger the provisioning of the node.

This will set the target provision state of the node, and a background task will begin which actually applies the state change. This call will return a 202 (Accepted) indicating the request was accepted and is in progress; the client should continue to GET the status of this node to observe the status of the requested action.

Parameters:
  • node_uuid (uuid) – UUID of a node.
  • target (unicode) – The desired provision state of the node.
Raises:

ClientSideError (HTTP 409) if the node is already being provisioned.

Raises:

ClientSideError (HTTP 400) if the node is already in the requested state.

Raises:

InvalidStateRequested (HTTP 400) if the requested target state is not valid.

type NodeStates

API representation of the states of a node.

Data samples:

Json
{
    "console_enabled": false,
    "last_error": null,
    "power_state": "power on",
    "provision_state": null,
    "provision_updated_at": null,
    "target_power_state": "power on",
    "target_provision_state": "active"
}
XML
<value>
  <console_enabled>False</console_enabled>
  <last_error nil="true" />
  <power_state>power on</power_state>
  <provision_state nil="true" />
  <provision_updated_at nil="true" />
  <target_power_state>power on</target_power_state>
  <target_provision_state>active</target_provision_state>
</value>

Ports

GET /v1/ports/(from_nodes)/

Retrieve a list of ports.

Parameters:
  • node_uuid (uuid) – UUID of a node, to get only ports for that node.
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

PortCollection

GET /v1/ports/(from_nodes)/(port_uuid)/

Retrieve information about the given port.

Parameters:
  • port_uuid (uuid) – UUID of a port.
Return type:

Port

POST /v1/ports/(from_nodes)/

Create a new port.

Parameters:
  • port (Port) – a port within the request body.
Return type:

Port

DELETE /v1/ports/(from_nodes)/

Delete a port.

Parameters:
  • port_uuid (uuid) – UUID of a port.
PATCH /v1/ports/(from_nodes)/

Update an existing port.

Parameters:
  • port_uuid (uuid) – UUID of a port.
  • patch (list(PortPatchType)) – a json PATCH document to apply to this port.
Return type:

Port

GET /v1/ports/(from_nodes)/detail/

Retrieve a list of ports with detail.

Parameters:
  • node_uuid (uuid) – UUID of a node, to get only ports for that node.
  • marker (uuid) – pagination marker for large data sets.
  • limit (int) – maximum number of resources to return in a single result.
  • sort_key (unicode) – column to sort results by. Default: id.
  • sort_dir (unicode) – direction to sort. “asc” or “desc”. Default: asc.
Return type:

PortCollection

type PortCollection

API representation of a collection of ports.

Data samples:

Json
{
    "ports": [
        {
            "address": "fe:54:00:77:07:d9",
            "created_at": "2014-05-03T07:07:54.666892",
            "extra": {
                "foo": "bar"
            },
            "node_uuid": "7ae81bb3-dec3-4289-8d6c-da80bd8001ae",
            "updated_at": "2014-05-03T07:07:54.666899",
            "uuid": "27e3153e-d5bf-4b7e-b517-fb518e17f34c"
        }
    ]
}
XML
<value>
  <ports>
    <item>
      <address>fe:54:00:77:07:d9</address>
      <created_at>2014-05-03T07:07:54.666892</created_at>
      <extra>
        <item>
          <key>foo</key>
          <value>bar</value>
        </item>
      </extra>
      <node_uuid>7ae81bb3-dec3-4289-8d6c-da80bd8001ae</node_uuid>
      <updated_at>2014-05-03T07:07:54.666899</updated_at>
      <uuid>27e3153e-d5bf-4b7e-b517-fb518e17f34c</uuid>
    </item>
  </ports>
</value>
ports
Type:list(Port)

A list containing ports objects

type Port

API representation of a port.

This class enforces type checking and value constraints, and converts between the internal object model and the API representation of a port.

Data samples:

Json
{
    "address": "fe:54:00:77:07:d9",
    "created_at": "2014-05-03T07:07:54.681484",
    "extra": {
        "foo": "bar"
    },
    "node_uuid": "7ae81bb3-dec3-4289-8d6c-da80bd8001ae",
    "updated_at": "2014-05-03T07:07:54.681490",
    "uuid": "27e3153e-d5bf-4b7e-b517-fb518e17f34c"
}
XML
<value>
  <address>fe:54:00:77:07:d9</address>
  <created_at>2014-05-03T07:07:54.681484</created_at>
  <extra>
    <item>
      <key>foo</key>
      <value>bar</value>
    </item>
  </extra>
  <node_uuid>7ae81bb3-dec3-4289-8d6c-da80bd8001ae</node_uuid>
  <updated_at>2014-05-03T07:07:54.681490</updated_at>
  <uuid>27e3153e-d5bf-4b7e-b517-fb518e17f34c</uuid>
</value>
address
Type:macaddress

MAC Address for this port

extra
Type:dict(unicode: None)

This port’s meta data

Type:list(Link)

A list containing a self link and associated port links

node_uuid
Type:uuid

The UUID of the node this port belongs to

uuid
Type:uuid

Unique UUID for this port

Table Of Contents

Previous topic

Developer Quick-Start

Next topic

Ironic’s API Server

This Page