Storage controller registration
The Storage Controller Registration APIs provide the capability to specify the storage controllers that must be managed by the PowerVC Management System. The capabilities include adding new storage controller, removing storage controllers, updating the registration information for existing storage controllers, or retrieving the information about storage controllers that are currently managed. You can also use this API to register pluggable storage.
- Storage controller registration API options
- Register or add a storage controller
- Unregister or remove a managed storage controller
- Update a managed storage controller
- Register a secondary storage for global mirror for a primary storage provider
- View all storage controllers that are managed
- View details of a managed storage controller
- View available volumes pools on a storage controller
- Register and enable HyperSwap storage for IBM Storwize
- Host site assignment
- Register a secondary or tertiary Pure Storage for a primary storage provider
Storage controller registration API options
Method | URI | Description |
---|---|---|
POST |
|
Registers or adds storage controller. |
DELETE |
|
Unregisters or removes a managed storage controller. |
PUT |
|
Updates or edits a managed storage controller. Registers a secondary storage for global mirror for a primary storage
provider.
Note: Only for IBM®
Storwize®.
Example:
|
GET |
|
Lists all storage controllers that are managed. |
GET |
|
Shows details of a managed storage controller. |
POST |
|
Lists volumes pools that are available on a storage controller.1 |
POST |
|
When Storwize is registered with HyperSwap® enabled, the |
POST |
|
Enables HyperSwap while registering Storwize in PowerVC. |
PUT |
|
Enables HyperSwap after Storwize is registered in PowerVC. |
POST |
|
Maps the host port WWPNs with the Storwize site information. |
GET |
|
Shows mapping details between host port WWPNs and the Storwize sites. |
1: Does not support pluggable storage. |
Register or add a storage controller
This operation registers or adds storage controller to the list that is managed by PowerVC. This API takes the IP address and credentials for the storage controller in the request body and registers the storage controller with PowerVC.
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Server Error (500)
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
list of strings |
The Hitachi storage system target port names to be specified in the default Hitachi storage template. When a Hitachi volume is deployed with the default storage template, PowerVC uses these ports to map volumes to a virtual machine. Some Hitachi platforms can have up to 192 Fibre Channel ports. PowerVC might not always assign all of the ports. Example: [CL4-B, CL4-C, CL8-A, CL8-B, CL9-A, CL9-B]. |
|
body |
integer |
The end of the range of Hitachi storage system devices that are allocated to PowerVC usage. The default range of 0 - 65535 is allowable if a single PowerVC management instance is the only user of the Hitachi controller. Otherwise, specify a range of devices that are not in use by other systems. |
|
body |
integer |
The start of the range of Hitachi storage system devices that are allocated to PowerVC usage. The default range of 0 - 65535 is allowable if a single PowerVC management instance is the only user of the Hitachi controller. Otherwise, specify a range of devices that are not in use by other systems. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
Conditional. Password for connecting to the storage controller. You must specify
either the |
|
body |
string |
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and IBM Storwize v7000 storage. |
|
body |
string |
The name of the backing storage device. |
|
body |
string |
The default storage pool. |
|
body |
string |
Optional. The name of the storage template to create as the default for the storage controller. |
ssh_port 2 |
body |
integer |
Optional. The TCP port to connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
The type of the storage system to be configured. Only these values are supported:
|
|
body |
string |
User-specified name to give to the storage controller. The value defaults to the resolved host short name. |
|
body |
string |
Python Class Name for the provider's Cinder volume driver. |
|
body |
object |
Driver-specific properties for the configuration file, such as the user ID and password. |
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This attribute is only for SVC and Storwize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC PowerMax and DS8000®
storage types.
|
|
{"host": {
"registration": {
"host_display_name": "HDS",
"access_ip": "1.2.3.4",
"fc_ports": [
"CL1-C",
"Cl1-D"
],
"hitachi_ldev_start": 2000,
"host_type": "hitachi",
"volume_pool_name": "PowerVC1",
"user_id": "maintenance",
"password": "passw0rd",
"hitachi_ldev_end": 3000
}
}
}
{"host": {
"registration": {
"host_type": "generic",
"host_display_name": "My Provider 1",
"volume_driver": "cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver",
"configuration_properties": {
"san_login": "superuser",
"san_password": "passw0rd",
"san_ip": "192.168.1.9",
"storwize_svc_volpool_name" :
"powervc_npiv_pool"…
}
}
}
}
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
The name of the storage pool that is used as the default for managing the storage. |
|
body |
string |
The name of the storage template that is created as the default for the storage controller. |
|
body |
integer |
The TCP port that is used to connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
The type of the storage system to be configured. Only these values are supported:
|
|
body |
string |
An internally generated unique name for the registered storage controller. |
|
body |
string |
User-specified name that is given to the storage controller. |
|
body |
string |
Python Class Name for the provider's Cinder volume driver. |
|
body |
string |
The date and time that the storage provider was registered with PowerVC. |
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This
attribute is only for SVC and Storewize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC PowerMax and DS8000
storage types.
|
1: Used for pluggable storage
only. 2: Not used for pluggable storage. |
{"host": {
"registration": {
"access_ip": "1.2.3.4",
"user_id": "root",
"volume_pool_name": "pool1",
"host_type": "svc",
"host_name": "myhostname",
"host_diplay_name": "My SVC 1",
"ssh_port": 22,
"default_volume_type": "my dflt"
}
}
}
Example response when registering pluggable storage:
{"host": {
"registration": {
"host_type": "generic",
"host_display_name": "My Provider 1",
"volume_driver": "cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver",
"registered_at": "2013-10-19T16:06:53Z"
}
}
}
Unregister or remove a managed storage controller
This operation unregisters or removes a managed storage controller so that it is no longer managed by PowerVC. This API takes the storage controller name in the URI as input and takes no request body. The API returns no response body.
- Normal Response Code: No Content (204)
- Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)
Update a managed storage controller
This operation updates or edits the registration information for a storage controller that is managed by PowerVC. This API takes the name of the storage controller in the URI and the attributes that you want to change in the body as input. The response body contains the attributes that are updated by the request.
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)
Request parameters
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
Conditional. Password for connecting to the storage controller. You must specify
either the |
|
body |
string |
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and Storewize v7000 storage. |
|
body |
string |
The name of the storage pool to be used as default for managing the storage. |
|
body |
string |
Optional. The name of the storage template to create as the default for the storage controller. |
|
body |
integer |
Optional. The TCP port to connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
User-specified name to give to the storage controller. The value defaults to the resolved host short name. |
|
body |
object |
Driver-specific properties for the configuration file, such as the user ID and password. |
auto_add_host_key |
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This
attribute is only for SVC and Storewize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC Power Max and DS8000
storage types.
|
|
body |
string |
Optional - applies only when the registration host type is You can specify |
|
body |
list of strings |
Optional - applies only when the registration host type is You can specify |
1: Used for pluggable storage
only. 2: Not used for pluggable storage. To specify this information,
use |
{"registration": {
"access_ip": "1.2.3.4",
"user_id": "root",
"password": "mypassword",
"private_key_data": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAs...",
"volume_pool_name": "pool1",
"host_diplay_name": "My SVC 1",
"ssh_port": 22,
"default_volume_type": "my dflt"
}
}
{"registration": {
"host_display_name": "My Provider 1",
"configuration_properties": { "san_login": "superuser", "san_password": "passw0rd", … }
}
}
}
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
The name of the storage pool that is used as the default for managing the storage. |
|
body |
string |
The name of the storage template that is used to create as the default for the storage controller. |
|
body |
integer |
The TCP port that is used to connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
User-specified name that is given to the storage controller. |
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This
attribute is only for SVC and Storewize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC Power Max and DS8000
storage types.
|
|
body |
string |
Optional - applies only when the registration host type is Either |
|
body |
string |
Optional - applies only when the registration host type is Either |
1: Used for pluggable storage
only. 2: Not used for pluggable storage. |
{"host": "myhostname",
"registration": {
"access_ip": "1.2.3.4",
"user_id": "root",
"volume_pool_name": "pool1",
"host_diplay_name": "My SVC 1",
"ssh_port": 22,
"default_volume_type": "my dflt"
}
}
Example response when updating pluggable storage:
{"host": {
"registration": {
"host_display_name": "My Provider 1",
}
}
}
Register a secondary storage for global mirror for a primary storage provider
Use this operation to register a secondary storage for global mirror for a primary storage provider in PowerVC. You can also add or manage secondary GMCV details by using PowerVC GUI. The response body contains the attributes that are updated by the request.
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)
Request parameters
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
Provide complete SSH private key. |
mirror_private_key |
body |
string |
Provide path to SSH private key. |
|
body |
Boolean |
Enables global mirror. Set option to |
|
body |
Boolean |
Enables global mirror change volume. Set option to |
|
body |
integer |
Indicates the cycle period in seconds for GMCV. The value must be a number (integer) within the range 60 - 86400. The default value is 300. |
|
body |
string |
Optional. Specify the child pool at the source storage where the change volume should be stored. If not specified, both volume and change volume will reside on the same pool. |
|
body |
string |
Optional. Specify the child pool at the target storage where the change volume should be stored. If not specified, both volume and change volume will reside on the same pool. |
|
body |
string |
Provide the mirror (secondary) storage IP. |
|
body |
string |
Parameter to provide mirror storage user ID. |
|
body |
string |
Parameter to provide mirror storage password. |
|
body |
string |
Parameter to provide mirror storage pool name |
{
"registration": {
"enable_mirror": true,
"mirror_private_key_data": "<full SSH private key">
"mirror_access_ip": "<secondary storage IP>",
"mirror_user_id": "<secondary storage user ID>",
"mirror_password": "<secondary storage password>",
"mirror_pool": "<secondary storage storage pool name>",
}
}
{
"registration": {
"enable_mirror": true,
"enable_gmcv": true,
"cycle_period_seconds": 500,
"mirror_access_ip": "9.114.23.121",
"mirror_user_id": "superuser",
"mirror_password": "Passw0rd",
"mirror_pool": "Powervc",
"source_child_pool_for_change_volumes": "PowerVC_Pool0_child",
"target_child_pool_for_change_volumes": "Powervc_child"
}
}
Name | Style | Type | Description |
---|---|---|---|
|
body |
Boolean |
Enables global mirror. Set option to |
|
body |
string |
Provides complete SSH private key. |
mirror_private_key |
body |
string |
Provides path to SSH private key. |
|
body |
Boolean |
Enables global mirror change volume. Set option to |
|
body |
integer |
Indicates the cycle period in seconds for GMCV. The value must be a number (integer) within the range 60 - 86400. The default value is 300. |
|
body |
string |
Optional. Specify the child pool at the source storage where the change volume should be stored. If not specified, both volume and change volume will reside on the same pool. |
|
body |
string |
Optional. Specify the child pool at the target storage where the change volume should be stored. If not specified, both volume and change volume will reside on the same pool. |
|
body |
string |
Provide the mirror (secondary) storage IP. |
|
body |
string |
Parameter to provide mirror storage user ID. |
|
body |
string |
Parameter to provide mirror storage password. |
|
body |
string |
Parameter to provide mirror storage pool name |
|
body |
string |
Parameter with information about backend ID of secondary storage, secondary storage IP, secondary storage user ID, secondary storage encrypted password and secondary storage pool name. |
{
"host": "<primary storage host name>",
"registration": {
"enable_mirror": true,
"mirror_private_key_data": "<full SSH private key">
"mirror_access_ip": "<secondary storage IP>",
"mirror_user_id": "secondary storage user ID",
"mirror_password": "secondary storage password",
"mirror_pool": "secondary storage storage pool",
"replication_device": "backend_id:<backend_id of secondary storage>,san_ip:<secondary storage IP>,san_login:<secondary storage user ID>,san_password:<encrypted password for secondary storage>,pool_name:secondary storage pool name"
}
}
{
"host": "ip9_114_23_117",
"registration": {
"enable_mirror": true,
"enable_gmcv": true,
"cycle_period_seconds": 500,
"mirror_access_ip": "9.114.23.121",
"mirror_user_id": "superuser",
"mirror_password": "Passw0rd",
"mirror_pool": "Powervc",
"source_child_pool_for_change_volumes": "PowerVC_Pool0_child",
"target_child_pool_for_change_volumes": "Powervc_child",
"replication_device": "backend_id:00000100204026B4,san_ip:9.114.23.121,san_login:superuser,san_password:aes-ctr:Njc1ODgyNzQ5Nzc2MTA4OTk4NjrOhJ7eJ4UvMqVB1Ws=,pool_name:Powervc"
}
}
View all storage controllers that are managed
This operation lists basic information about all the storage controllers that are managed by PowerVC. This API takes no input in the request body and returns the name and display name for each of the storage controllers that are managed in the response body.
- Normal Response Code: OK (200)
- Error Response Codes: Server Error (500)
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
An internally generated unique name for the registered storage controller. |
{"hosts": [
{"host_name": "myhostname1", "service": "cinder-volume", "zone": "nova"},
{"host_name": "myhostname2", "service": "cinder-volume", "zone": "nova"}, ]
}
View details of a managed storage controller
This operation shows detailed information about one of the storage controllers that is managed by PowerVC. This API takes the storage controller name in the URI as input and takes request body. The API returns the IP address and credential information about the storage controller in the response body.
- Normal Response Code: OK (200)
- Error Response Codes: Not Found (404), Server Error (500)
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
The name of the storage pool that is used as the default for managing the storage. |
|
body |
string |
The name of the storage template that is created as the default for the storage controller. |
|
body |
integer |
The TCP port that is used connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
The type of the storage system to be configured. Only these values are supported:
|
|
body |
string |
An internally generated unique name for the registered storage controller. |
|
body |
string |
User-specified name that is given to the storage controller. |
|
body |
string |
The date and time when the storage controller was registered in PowerVC. |
|
body |
string |
Shows the overall connectivity state to the storage controller and whether PowerVC can access it. |
|
body |
object |
Resource capacity information of the storage controller. |
|
body |
string |
Python Class Name for the provider's Cinder volume driver. |
1: Used for pluggable storage
only. 2: Not used for pluggable storage. To specify this information,
use |
{"host": { "resource": { "project": "(total)", "host": "host1", "volume_count": 16,
"total_capacity_gb": "1570", "free_capcity_gb": "117", "total_volume_gb": "1420"
},
"registration": {
"host_name": "myhostname",
"host_diplay_name": "My SVC 1",
"access_ip": "1.2.3.4",
"user_id": "root",
"ssh_port": 22,
"volume_pool_name": "pool1",
"default_volume_type", "my dflt",
"host_type": "svc",
"registered_at": "2013-06-18T13:24:21Z",
"access_state": "ok"
}
}
}
{"host": {
"registration": {
"host_type": "generic",
"host_display_name": "My Provider 1",
"volume_driver": "cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver",
"registered_at": "2013-10-19T16:06:53Z"
}
}
}
View available volumes pools on a storage controller
This operation uses the specified IP address and credentials to verify the connection to the storage controller, then returns a list of storage pools that can be used when you register this storage controller. It cannot be used with pluggable storage.
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Server Error (500)
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
IP address or the host name to connect to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider. |
|
body |
string |
Conditional. Password for connecting to the storage controller. You must specify
either the |
|
body |
string |
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and Storewize v7000 storage. |
|
body |
integer |
Optional. The TCP port to connect to SSH on the storage controller. |
|
body |
integer |
Optional - EMC PowerMax only. The TCP port to connect to the EMC SMI-S provider for the EMC PowerMax storage. The default value is 5989. |
|
body |
string |
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value
can be determined by calling the |
|
body |
string |
The type of the storage system to be configured. Only these values are supported:
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This
attribute is only for SVC and Storewize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC Power Max and DS8000
storage types.
|
{"host": {
"registration": {
"access_ip": "1.2.3.4",
"user_id": "root",
"password": "mypassword",
"private_key_data": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAs...",
"host_type": "svc",
"ssh_port": 22
}
}
}
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
The name of the storage pool on the storage controller. |
|
body |
string |
Free space in the storage pool in GB. |
|
body |
string |
Total capacity in the storage pool in GB. |
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the SSH fingerprint for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the SSH fingerprint can
be verified. Default value is Note: This
attribute is only for SVC and Storewize v7000 storage.
|
|
body |
Boolean |
Optional value. Whether to auto-accept or
add the X.509 Certificate for the system (if the fingerprint is not
yet trusted or is different from the previously trusted fingerprint)
or to fail with a 403 response code so that the certificate can be
verified. Default value is Note: This attribute is only for EMC Power Max and DS8000
storage types.
|
{"host": {
"volumePools": [ {
"pool_name": "pool1",
"pool_free_capacity_gb": "8810.0", // Free Space in the Storage Pool in GB
"pool_total_capacity_gb": "9010.0" // Total Capacity in the Storage Pool in GB
},
{
"pool_name": "pool2", .......
}
}
}
Register and enable HyperSwap storage for IBM Storwize
HyperSwap storage registration uses existing storage registration API. Below are the new attributes which are needed for registering the HyperSwap storage controller.
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400) and Server Error (500)
Name | Style | Type | Description |
---|---|---|---|
|
body |
Boolean |
If |
|
body |
Boolean |
Set this property to true in API request body to enable HyperSwap. |
|
body |
object |
Response in os-hosts /connect showing details
of the peer pool mapping. |
|
body |
string |
Pool name in another site. |
|
body |
string |
Site ID of Storwize site. |
|
body |
string |
Site name of Storwize site. |
- Connect to the HyperSwap storage
controllerRequest body
{ "host": { "registration": { "host_type": "svc", "access_ip": "9.x.x.x", "user_id": "superuser", "auto_add_host_key": true, "password": "password", "host_display_name": "SVC_188" } } }
Response body{ "host": { "hyperswap_capable": true, "volumePools": [{ "pool_name": "mdiskgrp0", "pool_total_capacity_gb": 22340.0, "pool_free_capacity_gb": 5329.0, "site_id": "1", "site_name": "site1" }, { "pool_name": "Pool1", "pool_total_capacity_gb": 15576.0, "pool_free_capacity_gb": 13649.0, "site_id": "2", "site_name": "site2" }], "peerPools": { "mdiskgrp0": ["Pool1"], "Pool1": ["mdiskgrp0"] } } }
- Enable HyperSwap during add storage APIRequest body
{ "host": { "registration": { "host_type": "svc", "access_ip": "9.x.x.x", "user_id": "superuser", "auto_add_host_key": true, "password": "passw0rd", "volume_pool_name": "mdiskgrp0", "host_display_name": "SVC_188", "host_name": "c340f9u05v7k", "peer_pool_name": "Pool1", "enable_hyperswap": true } } }
Response body{ "host": { "registration": { "host_type": "svc", "access_ip": "9.x.x.x", "user_id": "superuser", "auto_add_host_key": true, "volume_pool_name": "mdiskgrp0", "host_display_name": "SVC_188", "host_name": "c340f9u05v7k", "peer_pool_name": "Pool1", "enable_hyperswap": true, "pvc_cluster_service": true, "default_volume_type": "SVC_188 base template", "registered_at": "2021-07-23T10:04:14Z" } } }
- Update existing storage registration to enable HyperSwap during add storage APIRequest body
{ "registration": { "access_ip": "9.x.x.x", "host_display_name": "svc-188", "auto_add_host_key": true, "auto_add_certificate": true, "volume_pool_name": "mdiskgrp0", "peer_pool_name": "Pool1", "enable_hyperswap": true } }
Response body{ "host": "c340f9u05v7k", "registration": { "access_ip": "9.x.x.x", "host_display_name": "svc-188", "auto_add_host_key": true, "auto_add_certificate": true, "volume_pool_name": "mdiskgrp0", "peer_pool_name": "Pool1", "enable_hyperswap": true } }
Host site assignment
This API signs the PowerVM® host physical port WWPNs with the IBM Storwize HyperSwap site information. You can select multiple host port WWPNs, and assign the site id based on the preferred path for I/O optimization.
- Normal Response Code: Created (201)
- Error Response Codes: Bad Request (400), Forbidden (403), and Not Found (404)
Name | Style | Type | Description |
---|---|---|---|
|
body |
integer |
Storwize site ID. |
|
body |
list of strings |
List of host port WWPNs. |
{
"sites" : [
{
"id": 1,
"hosts": ["wwpn1", "wwpn2"]
},
{
"id": 2,
"hosts": ["wwpn3", "wwpn4"]
}
]
}
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
Site name of Storwize site |
|
body |
list of strings |
List of host port WWPNs. |
{
"1": {
"site_name": "site1",
"hosts": ["wwpn1", "wwpn2"]
},
"2": {
"site_name": "site2",
"hosts": ["wwpn3", "wwpn4"]
}
}
Register a secondary or tertiary Pure Storage for a primary storage provider
Use this operation to register a secondary storage or a tertiary storage or both for Pure Storage for a primary storage provider in PowerVC. The response body contains the attributes that are updated by the request
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400) and Server Error (500)
- Request parameters
Name | Style | Type | Description |
---|---|---|---|
|
body |
string |
Enables the replication. Set the option to |
|
body |
string | Provide the replication type of the storage. Replication types can be
sync/async . |
|
body |
string |
Parameter to provide the secondary storage IP. |
|
body |
string |
Parameter to provide secondary storage user ID. |
|
body |
string |
Parameter to provide secondary storage password. |
{
"registration": {
"enable_replication": "sync/async",
"secondary_storage": {
"replication_type": "sync/async",
"access_ip": "<secondary storage access IP>",
"user_id": "<secondary storage user ID>",
"password": "<secondary storage password>"
}
}
}
{
{
"registration": {
"enable_replication": "sync",
"secondary_storage": {
"replication_type": "sync",
"access_ip": "9.3.250.136",
"user_id": "pureuser",
"password": "pureuser"
}
}
}
{
"registration": {
"enable_replication": "async",
"secondary_storage": {
"replication_type": "async",
"access_ip": "9.3.250.136",
"user_id": "pureuser",
"password": "pureuser"
}
}
}
Response body for sync/async registration
Name | Style | Type | Description |
---|---|---|---|
|
body |
string | Provide the replication type of the secondary storage. |
|
body |
string |
Provide the secondary storage IP. |
|
body |
string |
Parameter to provide secondary storage user ID. |
|
body |
string |
Parameter to provide secondary storage password. |
replication_device |
body |
string |
Parameter with information about backend ID of secondary storage, secondary storage IP, secondary storage API token, and secondary storage replication type that is enabled. |
{
"host": "<primary storage host name>",
"registration": {
"enable_replication": "async/sync",
"secondary_storage": {
"replication_type": "async/sync",
"access_ip": "<secondary storage IP>",
"user_id": "<secondary storage user ID>",
"password": "<secondary storage password>"
},
"replication_device": "backend_id:<backend_id of the secondary storage>,san_ip: <secondary storage IP>,api_token:<secondary storage API token>,type:<secondary storage replication type>"
}
}
{
"host": "pvc75",
"registration": {
"enable_replication": "sync",
"secondary_storage": {
"replication_type": "sync",
"access_ip": "9.3.250.136",
"user_id": "pureuser",
"password": "pureuser"
},
"replication_device": "backend_id:pvc126,san_ip:9.3.250.136,api_token:b529b479-f7b6-aa55-d142-f5b11bf9f04b,type:sync"
}
}
{
"host": "pvc75",
"registration": {
"enable_replication": "async",
"secondary_storage": {
"replication_type": "async",
"access_ip": "9.3.250.136",
"user_id": "pureuser",
"password": "pureuser"
},
"replication_device": "backend_id:pvc126,san_ip:9.3.250.136,api_token:b529b479-f7b6-aa55-d142-f5b11bf9f04b,type:async"
}
}
Name | Style | Type | Description |
---|---|---|---|
enable_replication |
body |
string | Enables the replication. Set the option to trisync for
enabling replication in both secondary and tertiary storages. |
|
body |
string | Provide the replication type of the secondary and tertiary storages.
Replication types can be sync/async. Secondary storage replication type must be
sync and tertiary storage replication type must be async . |
|
body |
string |
Provide the secondary and tertiary storage IP. |
|
body |
string |
Parameter to provide secondary and tertiary storage user ID. |
|
body |
string |
Parameter to provide secondary and tertiary storage password. |
Example of registering secondary and tertiary storage in PowerVC and enabling trisync replication.
{
"registration": {
"enable_replication": "trisync",
"secondary_storage": {
"replication_type": "sync",
"access_ip": "<secondary storage IP>",
"user_id": "<secondary storage user ID>",
"password": "<secondary storage password>"
},
"tertiary_storage": {
"replication_type": "async",
"access_ip": "< tertiary storage IP>",
"user_id": "< tertiary storage user ID>",
"password": "< tertiary storage password>"
}
}
}
Response body for trisync registration
Name | Style | Type | Description |
---|---|---|---|
|
body |
string | Provide the replication type of the secondary and tertiary storage. |
|
body |
string |
Provide the secondary and tertiary storage IP. |
|
body |
string |
Parameter to provide secondary and tertiary storage user ID. |
|
body |
string |
Parameter to provide secondary and tertiary storage password. |
pure_trisync_enabled |
body | Boolean | Enables trisync. The option is set as true if
trisync is enabled. |
replication_device |
body | list |
List of two replication device parameters. Information about backend ID of secondary storage, secondary storage IP, secondary storage API token, and secondary storage replication type that is enabled in the first one. Information about backend ID of tertiary storage, tertiary storage IP, tertiary storage API token, and tertiary storage replication type that is enabled in the second one. |
{
"host": "pvc75",
"registration": {
"enable_replication": "trisync",
"secondary_storage": {
"replication_type": "sync",
"access_ip": "<secondary storage IP>",
"user_id": "<secondary storage user ID>",
"password": "<secondary storage password>"
},
"tertiary_storage": {
"replication_type": "async",
"access_ip": "< tertiary storage IP>",
"user_id": "< tertiary storage user ID>",
"password": "< tertiary storage password>"
},
"pure_trisync_enabled": True,
"replication_device": [
" backend_id:<backend_id of the secondary storage>,san_ip: <secondary storage IP>,api_token:<secondary storage API token>,type:<secondary storage replication type>",
" backend_id:<backend_id of the tertiary storage>,san_ip: <tertiary storage IP>,api_token:<tertiary storage API token>,type:<tertiary storage replication type>"
]
}
}
{
"host": "pvc75",
"registration": {
"enable_replication": "trisync",
"secondary_storage": {
"replication_type": "sync",
"access_ip": "9.3.250.136",
"user_id": "pureuser"
},
"tertiary_storage": {
"replication_type": "async",
"access_ip": "9.3.250.136",
"user_id": "pureuser"
},
"pure_trisync_enabled": True,
"replication_device": [
"backend_id:pvc126,san_ip:9.3.250.136,api_token:b529b479-f7b6-aa55-d142-f5b11bf9f04b,type:sync,uniform:True",
"backend_id:pvc126,san_ip:9.3.250.136,api_token:b529b479-f7b6-aa55-d142-f5b11bf9f04b,type:async"
]
}
}