Supported OpenStack Block storage (Cinder) APIs

These OpenStack block storage APIs are supported in PowerVC.

For information about how to use them, refer to the OpenStack block storage API documentation.

Volumes

Table 1. OpenStack block storage volumes APIs that are used with PowerVC.
Method URI Description
POST /v3/{tenant_id}/volumes Create a volume.
PUT /v3/{volume-id} Change the multiattach state of an existing volume. If multiattach is yes, the volume can be attached to multiple virtual machines.
GET /v3/{tenant_id}/volumes View a list of simple volume entities.
GET /v3/{tenant_id}/volumes/detail View a list of detailed volume entities.
GET /v3/{tenant_id}/volumes/{volume_id} View all information about a specified volume.
DELETE /v3/{tenant_id}/volumes/{volume_id} Delete a specified volume.
POST /v3/{tenant_id}/volumes/{volume_id}/action Retype a volume.

You can add migration_policy as generic in the body. Make sure that there is Fibre Channel connectivity between appropriate storage or host and PowerVC.

The migration_policy - generic must be used only when all other options - never and on-demand do not work.

POST /v3/{project_id}/volumes/{volume_id}/action Extend a volume size.

Snapshots

A volume snapshot is a point in time, complete copy of a volume.

Table 2. OpenStack block storage snapshot APIs that are used with PowerVC
Method URI Description
POST /v3/​{tenant_id}​/snapshots Create a snapshot.
GET /v3/​{tenant_id}​/snapshots List snapshots.
GET /v3/​{tenant_id}​/snapshots/detail List snapshots with details.
GET /v3/​{tenant_id}​/snapshots/​{snapshot_id} Show snapshot details.

For IBM® Storwize® user can pass the live_capacity=true parameter to get the current snapshot capacity data from storage backend.

In the next invocation of this API, when user does not provide param live_capacity, fetches the previous snapshot capacity data from storage backend.

PUT /v3/​{tenant_id}​/snapshots/​{snapshot_id} Update snapshot.
DELETE /v3/​{tenant_id}​/snapshots/​{snapshot_id} Delete snapshot.
GET /v3/​{tenant_id}​/snapshots/​{snapshot_id}​/metadata Show snapshot metadata.
PUT /v3/​{tenant_id}​/snapshots/​{snapshot_id}​/metadata Update snapshot metadata.

Consistency groups

Consistency groups enable the creation of snapshots at the exact moment in time for a group of volumes. These APIs manage the consistency group.

Table 3. OpenStack block storage consistency groups APIs that are used with PowerVC
Method URI Description
GET /v3/​{tenant_id}​/consistencygroups List consistency groups.
POST /v3/​{tenant_id}​/consistencygroups Create consistency groups.
GET /v3/​{tenant_id}​/consistencygroups/detail List consistency groups with details.
POST /v3/​{tenant_id}​/consistencygroups/create_from_src Create a consistency group from a source. The source can be an existing consistency group or a snapshot of a consistency group whose volumes are all in the "available" state.
Note: Not supported on EMC VMAX storage devices.
GET /v3/​{tenant_id}​/consistencygroups/​{consistencygroup_id}​ Show consistency group details.​
POST /v3/​{tenant_id}​/consistencygroups/​{consistencygroup_id}​/delete Delete a consistency group.
PUT /v3/​{tenant_id}​/consistencygroups/​{consistencygroup_id}​/update Update a consistency group.
Note: This API is deprecated and the support will be removed in a later release.

Consistency group snapshots

Manages the snapshots of a consistency group. These APIs trigger the snapshots.

Table 4. OpenStack block storage consistency group snapshot APIs that are used with PowerVC
Method URI Description
GET /v3/​{tenant_id}​/cgsnapshots Lists consistency group snapshots.
POST /v3/​{tenant_id}​/cgsnapshots Create a consistency group snapshot.
GET /v3/​{tenant_id}​/cgsnapshots/detail Lists consistency group snapshots with details.
GET /v3/​{tenant_id}​/cgsnapshots/​{cgsnapshot_id}​ Show consistency group snapshot details.
DELETE /v3/​{tenant_id}​/cgsnapshots/​{cgsnapshot_id} Deletes a consistency group snapshot.
Note: This API is deprecated and the support will be removed in a later release.

Generic volume groups

Creates and manages a group of volumes together.

Table 5. OpenStack block storage generic volume group APIs that are used with PowerVC
Method URI Description
GET /v3/​{tenant_id}​/groups Lists groups.
POST /v3/​{tenant_id}​/groups Creates a group.
GET /v3/​{tenant_id}​/groups/{group_id} Shows group details.
POST /v3/{tenant_id}/groups/action Creates a group from source.
POST /v3/{tenant_id}/groups/{group_id}/action Deletes a group.
GET /v3/{tenant_id}/groups/detail Lists groups with details.
PUT /v3/{tenant_id}/groups/{group_id} Updates a group.
POST /v3/{tenant_id}/groups/{group_id}/action Resets the group status.

Group snapshots

Lists all, lists all with details, shows details for, creates, and deletes group snapshots.

Table 6. OpenStack block storage group snapshot APIs that are used with PowerVC
Method URI Description
DELETE /v3/{tenant_id}/group_snapshots/{group_snapshot_id} Deletes a group snapshot.
GET /v3/{tenant_id}/group_snapshots/{group_snapshot_id} Shows the group snapshot details.
GET /v3/{tenant_id}/group_snapshots/{group_snapshot_id}/action Resets the group snapshot status.
GET /v3/{tenant_id}/group_snapshots Lists the group snapshot.
POST /v3/{tenant_id}/group_snapshots Creates the group snapshot.
POST /v3/{tenant_id}/group_snapshots/{group_snapshot_id}/action Resets the group status.

Group types

Lists all, updates, shows details for, creates, and deletes group types.

Table 7. OpenStack block storage group type APIs that are used with PowerVC
Method URI Description
PUT /v3/{tenant_id}/group_types/{group_type_id} Updates a group type.
GET /v3/{tenant_id}/group_types/{group_type_id} Shows group type details.
DELETE /v3/{tenant_id}/group_types/{group_type_id} Deletes a group type.
GET /v3/{tenant_id}/group_types Lists group types.
POST /v3/{tenant_id}/group_types Creates a group type.

Group type specs

Table 8. OpenStack block storage group type specs API that is used with PowerVC
Method URI Description
POST /v3/{tenant_id}/group_types/{group_type_id}/group_specs Creates group specs for a group type.

List type specs

Table 9. OpenStack block storage list type specs API that is used with PowerVC
Method URI Description
GET /v3/{tenant_id}/group_types/{group_type_id}/group_specs Lists group specs for a group type.

Show type spec

Table 10. OpenStack block storage show type spec API that is used with PowerVC
Method URI Description
GET /v3/{tenant_id}/group_types/{group_type_id}/group_specs/{spec_id} Shows one specific group spec for a group type.

Update type spec

Table 11. OpenStack block storage update type spec API that is used with PowerVC
Method URI Description
PUT /v3/{tenant_id}/group_types/{group_type_id}/group_specs/{spec_id} Updates one specific group spec for a group type.

Delete type spec

Table 12. OpenStack block storage delete type spec API that is used with PowerVC
Method URI Description
DELETE /v3/{tenant_id}/group_types/{group_type_id}/group_specs/{spec_id} Deletes one specific group spec for a group type.

Extensions

Table 13. OpenStack block storage extensions APIs that are used with PowerVC.
Method URI Description
GET /v3/{tenant_id}/extensions Lists all available extensions.
GET /v3/{tenant_id}/extensions/{alias} Gets details about a specific extension. Extensions enable the introduction of new features in the API without requiring a version change, and they allow the introduction of vendor-specific functions.

Volume Types (Called storage templates in PowerVC)

Table 14. OpenStack block storage volume types APIs that are used with PowerVC.
Method URI Description
POST /v3/{tenant_id}/types Create a volume type. For information about the keys that are supported, see the "Supported volume type extra-specs" topic.
GET /v3/{tenant_id}/types Request a list of volume types.
GET /v3/{tenant_id}/types/{volume_type_id} Request a single volume type.
PUT /v3/{tenant_id}/types/{volume_type_id} Update a volume type.
DELETE /v3/{tenant_id}/types/{volume_type_id} Delete a volume type.
PUT /v3/{tenant_id}/types/{volume_type_id}/extra_specs/{key_id} Update the extra specs of a volume type. For information about the keys that are supported, see the "Supported volume type extra-specs" topic.

Hosts

Table 15. OpenStack block storage hosts APIs that are used with PowerVC.
Method URI Description
GET /v3/{tenant_id}/os-hosts List all hosts.
GET /v3/{tenant_id}/os-hosts/{host_name} Describe a specific host.

Quotas APIs

Table 16. OpenStack quotas APIs that are used with PowerVC.
Method URI Description
GET /v3/{project_id}/os-quota-sets/{project_id} Shows quotas for a project. Pass the usage=True query parameter to view current usage.
GET /v3/{project_id}/os-quota-sets/defaults Retrieves default quotas for a project.
PUT /v3/{project_id}/os-quota-sets/{project_id} Update quotas for a project.
DELETE
/v3/{project_id}/os-quota-sets/{project_id}
Deletes quotas for a project.