StarlingX API Documentation

Block Storage API v2 StarlingX extensions

StarlingX extensions to the OpenStack Block Storage API such as backup status and export/import actions for volumes and snapshots.

The typical port used for the Block Storage REST API is 8776. However, proper technique would be to look up the cinderv2 service endpoint in keystone.

Extensions

The Extensions entity lists all available extensions

GET
/v2/​{tenant_id}​/extensions

Lists all extensions

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.

Response parameters

Parameter Style Type Description
namespace (Optional) plain xsd:string Indicates namespace of the extension.
name (Optional) plain xsd:string Indicates name of the extension.
updated (Optional) plain xsd:string Indicates updated time of the extension.
description (Optional) plain xsd:string Indicates description of the extension.
alias (Optional) plain xsd:string Indicates alias of the extension.
links (Optional) plain xsd:list A list of links for the extension.
{
   "extensions" : [
      ...
      {
         "namespace" : "http://docs.windriver.com/volume/ext/wrs-snapshot/api/v1.0",
         "name" : "WrsSnapshotExportAction",
         "updated" : "2014-08-16T00:00:00+00:00",
         "description" : "Enable snapshot export to file",
         "alias" : "wrs-snapshot",
         "links" : []
      },
      {
         "namespace" : "http://docs.windriver.com/volume/ext/wrs-volume/api/v1.0",
         "name" : "WrsVolumeExport",
         "updated" : "2014-08-11T00:00:00+00:00",
         "description" : "Enable volume export/import",
         "alias" : "wrs-volume",
         "links" : []
      },
      ...
   ]
}

This operation does not accept a request body.

GET
/v2/​{tenant_id}​/extensions/​{extension_alias}

Gets information about a specified extension

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.
extension_alias URI xsd:string The alias for the extension to list.

Response parameters

Parameter Style Type Description
namespace (Optional) plain xsd:string Indicates namespace of the extension.
name (Optional) plain xsd:string Indicates name of the extension.
updated (Optional) plain xsd:string Indicates updated time of the extension.
description (Optional) plain xsd:string Indicates description of the extension.
alias (Optional) plain xsd:string Indicates alias of the extension.
links (Optional) plain xsd:list A list of links for the extension.
{
   "extension" : {
      "namespace" : "http://docs.windriver.com/volume/ext/wrs-volume/api/v1.0",
      "name" : "WrsVolumeExport",
      "updated" : "2014-08-11T00:00:00+00:00",
      "description" : "Enable volume export/import",
      "alias" : "wrs-volume",
      "links" : []
   }
}

OR

{
   "extension" : {
      "namespace" : "http://docs.windriver.com/volume/ext/wrs-snapshot/api/v1.0",
      "name" : "WrsSnapshotExportAction",
      "updated" : "2014-08-16T00:00:00+00:00",
      "description" : "Enable snapshot export to file",
      "alias" : "wrs-snapshot",
      "links" : []
   }
}

This operation does not accept a request body.

Volumes

StarlingX extensions include export and import actions for performing backup and restores of volumes, and a backup status attribute to indicate the status of the new actions.

GET
/v2/​{tenant_id}​/volumes/detail

Get information about system volumes

Preconditions

  • The specified volume must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.

Response parameters

Parameter Style Type Description
wrs-volume:backup_status plain xsd:string Indicates backup status.
{
   "volumes" : [
      {
         "wrs-volume:backup_status" : "Export completed at 2015-02-27 16:35:53.545339",
         "volume_type" : "None",
         "status" : "available",
         "size" : 1,
         "created_at" : "2015-02-27T16:26:08.164607",
         "id" : "b7db512f-463e-4720-8fbd-154c0f2bc2ae",
         "metadata" : {},
         "attachments" : [],
         "os-volume-replication:driver_data" : null,
         "os-vol-mig-status-attr:migstat" : null,
         "display_name" : null,
         "availability_zone" : "nova",
         "display_description" : null,
         "encrypted" : false,
         "os-vol-mig-status-attr:name_id" : null,
         "os-vol-host-attr:host" : "controller@lvm#lvm",
         "os-volume-replication:extended_status" : null,
         "snapshot_id" : null,
         "os-vol-tenant-attr:tenant_id" : "e0741109067649a8899936e9fefda95b",
         "bootable" : "false",
         "source_volid" : null
      },
      {
         "wrs-volume:backup_status" : "Import completed at 2015-02-27 15:04:29.135579",
         "volume_type" : "None",
         "status" : "available",
         "size" : 1,
         "created_at" : "2015-02-27T14:04:34.763953",
         "id" : "27080551-9d88-4cf0-aa85-c1392dbf38f4",
         "metadata" : {},
         "attachments" : [],
         "os-volume-replication:driver_data" : null,
         "os-vol-mig-status-attr:migstat" : null,
         "display_name" : null,
         "availability_zone" : "nova",
         "display_description" : null,
         "encrypted" : false,
         "os-vol-mig-status-attr:name_id" : null,
         "os-vol-host-attr:host" : "controller@lvm#lvm",
         "os-volume-replication:extended_status" : null,
         "snapshot_id" : null,
         "os-vol-tenant-attr:tenant_id" : "e0741109067649a8899936e9fefda95b",
         "bootable" : "false",
         "source_volid" : null
      },
      {
         "wrs-volume:backup_status" : "Snapshot export completed at 2015-02-27 20:57:29.323714",
         "volume_type" : "None",
         "status" : "available",
         "size" : 1,
         "created_at" : "2015-02-27T13:44:55.317995",
         "id" : "2c4f094b-f6d8-4ff6-800e-e5998cb4d6fa",
         "metadata" : {},
         "attachments" : [],
         "os-volume-replication:driver_data" : null,
         "os-vol-mig-status-attr:migstat" : null,
         "display_name" : null,
         "availability_zone" : "nova",
         "display_description" : null,
         "encrypted" : false,
         "os-vol-mig-status-attr:name_id" : null,
         "os-vol-host-attr:host" : "controller@lvm#lvm",
         "os-volume-replication:extended_status" : null,
         "snapshot_id" : null,
         "os-vol-tenant-attr:tenant_id" : "e0741109067649a8899936e9fefda95b",
         "bootable" : "false",
         "source_volid" : null
      }
   ]
}
GET
/v2/​{tenant_id}​/volumes/​{volume_id}

Get information about a specified volume

Preconditions

  • The specified volume must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.
volume_id URI csapi:UUID The ID for the volume to list.

Response parameters

Parameter Style Type Description
wrs-volume:backup_status plain xsd:string Indicates backup status.
{
   "volumes" : [
      {
         "wrs-volume:backup_status" : "Import completed at 2015-02-27 15:04:29.135579",
         "volume_type" : "None",
         "status" : "available",
         "size" : 1,
         "created_at" : "2015-02-27T14:04:34.763953",
         "id" : "27080551-9d88-4cf0-aa85-c1392dbf38f4",
         "metadata" : {},
         "attachments" : [],
         "os-volume-replication:driver_data" : null,
         "os-vol-mig-status-attr:migstat" : null,
         "display_name" : null,
         "availability_zone" : "nova",
         "display_description" : null,
         "encrypted" : false,
         "os-vol-mig-status-attr:name_id" : null,
         "os-vol-host-attr:host" : "controller@lvm#lvm",
         "os-volume-replication:extended_status" : null,
         "snapshot_id" : null,
         "os-vol-tenant-attr:tenant_id" : "e0741109067649a8899936e9fefda95b",
         "bootable" : "false",
         "source_volid" : null
      },
   ]
}
POST
/v2/​{tenant_id}​/volumes/​{volume_id}​/action

Executes the specified action or command on the specified volume

Preconditions

  • The specified volume must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.
volume_id URI csapi:UUID The ID for the volume to list.
wrs-volume:os-volume_export plain xsd:string Export volume to a file
wrs-volume:os-volume_import plain xsd:string Import a volume from a file <ul><li>file_name: “VolumeExportName.tgz”. </li></ul>

Response parameters

Parameter Style Type Description
volume_type plain xsd:string Indicates the volume type.
updated_at plain xsd:string Indicates when the action was performed.
status plain xsd:string Indicates the state of the export or import action.
id plain csapi:UUID Indicates the volume UUID.
display_description plain xsd:string Volume descrition if any.
size plain xsd:int Indicates the volume size in Gbyte.
{
   'wrs-volume:os-volume_export' : {
      'volume_type' : null,
      'updated_at' : '2015-02-27T14:04:35.201969',
      'status' : 'exporting',
      'id' : '27080551-9d88-4cf0-aa85-c1392dbf38f4',
      'display_description' : null,
      'size' : 1
   }
}
or
{
   'wrs-volume:os-volume_import' : {
      'volume_type' : null,
      'updated_at' : '2015-02-27T15:03:54.045796',
      'status' : 'importing',
      'id' : '27080551-9d88-4cf0-aa85-c1392dbf38f4',
      'display_description' : null,
      'size' : 1
   }
}

Snapshots

StarlingX extensions include export actions for performing backup volumes already attached to a VM, and a backup status attribute to indicate the status of the new actions.

GET
/v2/​{tenant_id}​/snapshots/detail

Get information about system volume snapshots

Preconditions

  • The specified volume snapshot must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.

Response parameters

Parameter Style Type Description
wrs-snapshot:backup_status plain xsd:string Indicates backup status.
{
   "snapshots" : [
      {
         "volume_id" : "f15dcbfb-8b41-4fff-adb8-77a4162a318b",
         "status" : "available",
         "display_description" : null,
         "display_name" : null,
         "size" : 1,
         "created_at" : "2015-02-27T13:19:02.380453",
         "os-extended-snapshot-attributes:project_id" : "e0741109067649a8899936e9fefda95b",
         "wrs-snapshot:backup_status" : "Export completed at 2015-02-27 13:19:48.914344",
         "id" : "7b220cb7-212f-411e-a8cd-41e6bdbac724",
         "metadata" : {},
         "os-extended-snapshot-attributes:progress" : "100%"
      },
      {
         "volume_id" : "2c4f094b-f6d8-4ff6-800e-e5998cb4d6fa",
         "status" : "available",
         "display_description" : null,
         "display_name" : null,
         "size" : 1,
         "created_at" : "2015-02-27T20:56:32.033427",
         "os-extended-snapshot-attributes:project_id" : "e0741109067649a8899936e9fefda95b",
         "wrs-snapshot:backup_status" : "Export completed at 2015-02-27 20:57:29.279574",
         "id" : "0aa45e0c-74ea-433e-b8f3-0dc778d3972b",
         "metadata" : {},
         "os-extended-snapshot-attributes:progress" : "100%"
      }
   ]
}
GET
/v2/​{tenant_id}​/snapshots/​{snapshot_id}

Get information of a specific volume snapshot

Preconditions

  • The specified volume snapshot must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.
snapshot_id URI csapi:UUID The ID for the snapshot to list.

Response parameters

Parameter Style Type Description
wrs-snapshot:backup_status plain xsd:string Indicates backup status.
{
   "snapshot" : {
      "volume_id" : "2c4f094b-f6d8-4ff6-800e-e5998cb4d6fa",
      "status" : "available",
      "display_description" : null,
      "display_name" : null,
      "size" : 1,
      "created_at" : "2015-02-27T20:56:32.033427",
      "os-extended-snapshot-attributes:project_id" : "e0741109067649a8899936e9fefda95b",
      "wrs-snapshot:backup_status" : "Export completed at 2015-02-27 20:57:29.279574",
      "id" : "0aa45e0c-74ea-433e-b8f3-0dc778d3972b",
      "metadata" : {},
      "os-extended-snapshot-attributes:progress" : "100%"
   }
}
POST
/v2/​{tenant_id}​/snapshots/​{snapshot_id}​/action

Executes the specified action or command on the specified volume snapshot

Preconditions

  • The specified volume snapshot must exist in all case.

Normal response codes

200

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for the tenant or account in a multi-tenancy cloud.
snapshot_id URI csapi:UUID The ID for the snapshot to list.
wrs-snapshot:os-snapshot_export plain xsd:string Export volume snapshot to a file

Response parameters

Parameter Style Type Description
volume_type plain xsd:string Indicates the volume type.
updated_at plain xsd:string Indicates when the action was performed.
status plain xsd:string Indicates the state of the volume snapshot export action.
id plain csapi:UUID Indicates the volume UUID.
display_description plain xsd:string Volume descrition if any.
volume_size plain xsd:int Indicates the volume size in Gbyte.
{
   "wrs-snapshot:os-export_snapshot" : {
      "volume_type" : null,
      "updated_at" : "2015-03-03T15:32:31.386661",
      "status" : "exporting",
      "volume_size" : 1,
      "id" : "9ad36199-c5b3-44bf-9273-c298ab7a0a2b",
      "display_description" : null
   }
}
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.