From 05d85dd8bb6f1de76d37a331c35134dc4e52e724 Mon Sep 17 00:00:00 2001 From: Hironori Shiina Date: Thu, 6 Jul 2017 19:48:02 +0900 Subject: [PATCH] Add storage interface to api-ref This patch adds these storage interface fields to api-ref: - storage_interface of Node - default_storage_interface of Driver - enabled_storage_interfaces of Driver These fields were introdeced with API version 1.33. Change-Id: Iac73d7ae4976dfd437b9821a2221dd842be24b55 Partial-Bug: #1559691 --- api-ref/source/baremetal-api-v1-drivers.inc | 4 ++++ api-ref/source/baremetal-api-v1-nodes.inc | 10 ++++++++- api-ref/source/parameters.yaml | 22 +++++++++++++++++++ api-ref/source/samples/api-root-response.json | 4 ++-- .../source/samples/driver-get-response.json | 4 ++++ .../samples/drivers-list-detail-response.json | 8 +++++++ .../source/samples/node-create-response.json | 1 + .../source/samples/node-show-response.json | 1 + .../node-update-driver-info-response.json | 1 + .../samples/node-validate-response.json | 3 +++ .../samples/nodes-list-details-response.json | 2 ++ 11 files changed, 57 insertions(+), 3 deletions(-) diff --git a/api-ref/source/baremetal-api-v1-drivers.inc b/api-ref/source/baremetal-api-v1-drivers.inc index 606302fc9f..4e4d4b2289 100644 --- a/api-ref/source/baremetal-api-v1-drivers.inc +++ b/api-ref/source/baremetal-api-v1-drivers.inc @@ -86,6 +86,7 @@ driver will also include the following fields. - default_network_interface: default_network_interface - default_power_interface: default_power_interface - default_raid_interface: default_raid_interface + - default_storage_interface: default_storage_interface - default_vendor_interface: default_vendor_interface - enabled_boot_interfaces: enabled_boot_interfaces - enabled_console_interfaces: enabled_console_interfaces @@ -95,6 +96,7 @@ driver will also include the following fields. - enabled_network_interfaces: enabled_network_interfaces - enabled_power_interfaces: enabled_power_interfaces - enabled_raid_interfaces: enabled_raid_interfaces + - enabled_storage_interfaces: enabled_storage_interfaces - enabled_vendor_interfaces: enabled_vendor_interfaces Response Example @@ -142,6 +144,7 @@ Response Parameters - default_network_interface: default_network_interface - default_power_interface: default_power_interface - default_raid_interface: default_raid_interface + - default_storage_interface: default_storage_interface - default_vendor_interface: default_vendor_interface - enabled_boot_interfaces: enabled_boot_interfaces - enabled_console_interfaces: enabled_console_interfaces @@ -151,6 +154,7 @@ Response Parameters - enabled_network_interfaces: enabled_network_interfaces - enabled_power_interfaces: enabled_power_interfaces - enabled_raid_interfaces: enabled_raid_interfaces + - enabled_storage_interfaces: enabled_storage_interfaces - enabled_vendor_interfaces: enabled_vendor_interfaces - links: links - properties: driver_property_links diff --git a/api-ref/source/baremetal-api-v1-nodes.inc b/api-ref/source/baremetal-api-v1-nodes.inc index fbe407d734..5f712a0b11 100644 --- a/api-ref/source/baremetal-api-v1-nodes.inc +++ b/api-ref/source/baremetal-api-v1-nodes.inc @@ -101,8 +101,12 @@ API microversion 1.31 introduced all of the ``*_interface`` fields network_interface field, which was introduced in API microversion 1.20. If this field is not supplied when creating the Node, the default value will be used. +.. versionadded:: 1.33 + The ``storage_interface`` field was introduced. If this field is not supplied when creating + the Node, the default value will be used. + The list and example below are representative of the response as of API -microversion 1.32. +microversion 1.33. .. rest_parameters:: parameters.yaml @@ -141,6 +145,7 @@ microversion 1.32. - network_interface: network_interface - power_interface: power_interface - raid_interface: raid_interface + - storage_interface: storage_interface - vendor_interface: vendor_interface - volume: n_volume @@ -285,6 +290,7 @@ Response - network_interface: network_interface - power_interface: power_interface - raid_interface: raid_interface + - storage_interface: storage_interface - vendor_interface: vendor_interface - volume: n_volume @@ -355,6 +361,7 @@ Response - network_interface: network_interface - power_interface: power_interface - raid_interface: raid_interface + - storage_interface: storage_interface - vendor_interface: vendor_interface - volume: n_volume @@ -434,6 +441,7 @@ Response - network_interface: network_interface - power_interface: power_interface - raid_interface: raid_interface + - storage_interface: storage_interface - vendor_interface: vendor_interface - volume: n_volume diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index f405e6905b..7fd97b170c 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -454,6 +454,14 @@ default_raid_interface: in: body required: true type: string +default_storage_interface: + description: | + The default storage interface used for a node with a dynamic driver, if + no storage interface is specified for the node. Added in API + microversion 1.33. + in: body + required: true + type: string default_vendor_interface: description: | The default vendor interface used for a node with a dynamic driver, if @@ -562,6 +570,13 @@ enabled_raid_interfaces: in: body required: true type: list +enabled_storage_interfaces: + description: | + The enabled storage interfaces for this driver. Added in API microversion + 1.33. + in: body + required: true + type: list enabled_vendor_interfaces: description: | The enabled vendor interfaces for this driver. Added in API microversion @@ -984,6 +999,13 @@ standalone_ports_supported: in: body required: true type: boolean +storage_interface: + description: | + Interface used for attaching and detaching volumes on this node, e.g. + "cinder". Added in API microversion 1.33. + in: body + required: true + type: string supported_boot_devices: description: | List of boot devices which this Node's driver supports. diff --git a/api-ref/source/samples/api-root-response.json b/api-ref/source/samples/api-root-response.json index 9f901b7dca..ab08a40b66 100644 --- a/api-ref/source/samples/api-root-response.json +++ b/api-ref/source/samples/api-root-response.json @@ -9,7 +9,7 @@ ], "min_version": "1.1", "status": "CURRENT", - "version": "1.32" + "version": "1.33" }, "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "name": "OpenStack Ironic API", @@ -24,7 +24,7 @@ ], "min_version": "1.1", "status": "CURRENT", - "version": "1.32" + "version": "1.33" } ] } diff --git a/api-ref/source/samples/driver-get-response.json b/api-ref/source/samples/driver-get-response.json index 421b78e6c5..fdf5ad3a0c 100644 --- a/api-ref/source/samples/driver-get-response.json +++ b/api-ref/source/samples/driver-get-response.json @@ -7,6 +7,7 @@ "default_network_interface": "flat", "default_power_interface": "ipmitool", "default_raid_interface": "no-raid", + "default_storage_interface": "noop", "default_vendor_interface": "no-vendor", "enabled_boot_interfaces": [ "pxe" @@ -35,6 +36,9 @@ "no-raid", "agent" ], + "enabled_storage_interfaces": [ + "noop" + ], "enabled_vendor_interfaces": [ "no-vendor" ], diff --git a/api-ref/source/samples/drivers-list-detail-response.json b/api-ref/source/samples/drivers-list-detail-response.json index 32e3856a2b..05f23ae35b 100644 --- a/api-ref/source/samples/drivers-list-detail-response.json +++ b/api-ref/source/samples/drivers-list-detail-response.json @@ -9,6 +9,7 @@ "default_network_interface": null, "default_power_interface": null, "default_raid_interface": null, + "default_storage_interface": null, "default_vendor_interface": null, "enabled_boot_interfaces": null, "enabled_console_interfaces": null, @@ -18,6 +19,7 @@ "enabled_network_interfaces": null, "enabled_power_interfaces": null, "enabled_raid_interfaces": null, + "enabled_storage_interfaces": null, "enabled_vendor_interfaces": null, "hosts": [ "897ab1dad809" @@ -54,6 +56,7 @@ "default_network_interface": null, "default_power_interface": null, "default_raid_interface": null, + "default_storage_interface": null, "default_vendor_interface": null, "enabled_boot_interfaces": null, "enabled_console_interfaces": null, @@ -63,6 +66,7 @@ "enabled_network_interfaces": null, "enabled_power_interfaces": null, "enabled_raid_interfaces": null, + "enabled_storage_interfaces": null, "enabled_vendor_interfaces": null, "hosts": [ "897ab1dad809" @@ -99,6 +103,7 @@ "default_network_interface": "flat", "default_power_interface": "ipmitool", "default_raid_interface": "no-raid", + "default_storage_interface": "noop", "default_vendor_interface": "no-vendor", "enabled_boot_interfaces": [ "pxe" @@ -127,6 +132,9 @@ "no-raid", "agent" ], + "enabled_storage_interfaces": [ + "noop" + ], "enabled_vendor_interfaces": [ "no-vendor" ], diff --git a/api-ref/source/samples/node-create-response.json b/api-ref/source/samples/node-create-response.json index d7ff4d5845..60b854a9aa 100644 --- a/api-ref/source/samples/node-create-response.json +++ b/api-ref/source/samples/node-create-response.json @@ -73,6 +73,7 @@ "rel": "bookmark" } ], + "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, diff --git a/api-ref/source/samples/node-show-response.json b/api-ref/source/samples/node-show-response.json index 660a9a1251..d8a3606262 100644 --- a/api-ref/source/samples/node-show-response.json +++ b/api-ref/source/samples/node-show-response.json @@ -75,6 +75,7 @@ "rel": "bookmark" } ], + "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, diff --git a/api-ref/source/samples/node-update-driver-info-response.json b/api-ref/source/samples/node-update-driver-info-response.json index 9d80260df6..3aee85135e 100644 --- a/api-ref/source/samples/node-update-driver-info-response.json +++ b/api-ref/source/samples/node-update-driver-info-response.json @@ -77,6 +77,7 @@ "rel": "bookmark" } ], + "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, diff --git a/api-ref/source/samples/node-validate-response.json b/api-ref/source/samples/node-validate-response.json index 5eee6aabdf..edea400071 100644 --- a/api-ref/source/samples/node-validate-response.json +++ b/api-ref/source/samples/node-validate-response.json @@ -22,5 +22,8 @@ }, "raid": { "result": true + }, + "storage": { + "result": true } } diff --git a/api-ref/source/samples/nodes-list-details-response.json b/api-ref/source/samples/nodes-list-details-response.json index 6147eea388..7599e315b8 100644 --- a/api-ref/source/samples/nodes-list-details-response.json +++ b/api-ref/source/samples/nodes-list-details-response.json @@ -77,6 +77,7 @@ "rel": "bookmark" } ], + "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, @@ -169,6 +170,7 @@ "rel": "bookmark" } ], + "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {},