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
| 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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Server Error (500)
- Request parameters
-
Table 2. Parameters that are used in storage controller registration requests Name Style Type Description access_ip2body
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.
fc_ports3body
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].
hitachi_ldev_end3body
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.
hitachi_ldev_start3body
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.
user_id2body
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
password2body
string
Conditional. Password for connecting to the storage controller. You must specify either the
passwordor theprivate_key_data. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.private_key_data2body
string
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and IBM Storwize v7000 storage.
volume_backend_name2body
string
The name of the backing storage device.
volume_pool_name2body
string
The default storage pool.
default_volume_type2body
string
Optional. The name of the storage template to create as the default for the storage controller.
ssh_port2body
integer
Optional. The TCP port to connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_typebody
string
The type of the storage system to be configured. Only these values are supported:
svc, ds8k ,emc_vmax,hitachi, orgeneric(pluggable storage only).host_display_namebody
string
User-specified name to give to the storage controller. The value defaults to the resolved host short name.
volume_driver1body
string
Python Class Name for the provider's Cinder volume driver.
configuration_properties1body
object
Driver-specific properties for the configuration file, such as the user ID and password.
auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storwize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC PowerMax and DS8000® storage types.- Used for pluggable storage only.
- Not used for pluggable storage. To specify this information, use
configuration_properties. - Only required when using Hitachi storage.
Example of registering PowerVC supported storage:{"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 } } }Example of registering pluggable storage:{"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"… } } } } - Response body
-
Table 3. Parameters in the response for storage controller registration Name Style Type Description access_ip2body
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.
user_id2body
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
volume_pool_name2body
string
The name of the storage pool that is used as the default for managing the storage.
default_volume_typebody
string
The name of the storage template that is created as the default for the storage controller.
ssh_port2body
integer
The TCP port that is used to connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_typebody
string
The type of the storage system to be configured. Only these values are supported:
svc, ds8k ,emc_vmax,hitachi, orgeneric(pluggable storage only).host_name2body
string
An internally generated unique name for the registered storage controller.
host_display_namebody
string
User-specified name that is given to the storage controller.
volume_driver1body
string
Python Class Name for the provider's Cinder volume driver.
registered_atbody
string
The date and time that the storage provider was registered with PowerVC.
auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storewize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC PowerMax and DS8000 storage types.1: Used for pluggable storage only. 2: Not used for pluggable storage.
Example response when registering PowerVC supported 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.
- Response codes
-
- 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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)
- Request parameters
-
Table 4. Parameters in the request for updating a storage controller Name Style Type Description access_ip2body
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.
user_id2body
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
password2body
string
Conditional. Password for connecting to the storage controller. You must specify either the
passwordor theprivate_key_data. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.private_key_data2body
string
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and Storewize v7000 storage.
volume_pool_name2body
string
The name of the storage pool to be used as default for managing the storage.
default_volume_type2body
string
Optional. The name of the storage template to create as the default for the storage controller.
ssh_port2body
integer
Optional. The TCP port to connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_display_namebody
string
User-specified name to give to the storage controller. The value defaults to the resolved host short name.
configuration_properties1body
object
Driver-specific properties for the configuration file, such as the user ID and password.
auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storewize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC Power Max and DS8000 storage types.pvm_host_namebody
string
Optional - applies only when the registration host type is
ssp
and when switching the controlling node to a NovaLink host. To determine the host name, use the nova GET /os-hosts API.You can specify
pvm_host_nameorhmc_uuids.hmc_uuidsbody
list of strings
Optional - applies only when the registration host type is
ssp
. This lists a single HMC uuid for the HMC that should be the new provider of the shared storage pool management API.You can specify
pvm_host_nameorhmc_uuids.1: Used for pluggable storage only. 2: Not used for pluggable storage. To specify this information, use
configuration_properties.All the attributes are optional in the request body. Example of updating PowerVC supported storage:{"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" } }Example of updating pluggable storage:{"registration": { "host_display_name": "My Provider 1", "configuration_properties": { "san_login": "superuser", "san_password": "passw0rd", … } } } } - Response body
-
Table 5. Parameters in the response for updating a storage controller Name Style Type Description access_ip2body
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.
user_id2body
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
volume_pool_name2body
string
The name of the storage pool that is used as the default for managing the storage.
default_volume_type2body
string
The name of the storage template that is used to create as the default for the storage controller.
ssh_port2body
integer
The TCP port that is used to connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_display_namebody
string
User-specified name that is given to the storage controller.
auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storewize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC Power Max and DS8000 storage types.pvm_host_namebody
string
Optional - applies only when the registration host type is
ssp
. When switching the controlling node to a NovaLink host. To determine the host name, use the nova GET /os-hosts API.Either
pvm_host_nameorhmc_uuidswill be returned.hmc_uuidsbody
string
Optional - applies only when the registration host type is
ssp
. This lists a single HMC uuid for the HMC that should be the new provider of the shared storage pool management API.Either
pvm_host_nameorhmc_uuidswill be returned.1: Used for pluggable storage only. 2: Not used for pluggable storage.
Example response when updating PowerVC supported 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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)
- Request parameters
-
Table 6. Parameters in the request for registering a secondary storage Name Style Type Description mirror_private_key_databody
string
Provide complete SSH private key.
mirror_private_keybody
string
Provide path to SSH private key.
enable_mirrorbody
Boolean
Enables global mirror. Set option to
Truefor enabling global mirror.enable_gmcvbody
Boolean
Enables global mirror change volume. Set option to
Truefor enabling global mirror change volume.cycle_period_secondsbody
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.
source_child_pool_for_change_volumesbody
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.
target_child_pool_for_change_volumesbody
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.
mirror_access_ipbody
string
Provide the mirror (secondary) storage IP.
mirror_user_idbody
string
Parameter to provide mirror storage user ID.
mirror_passwordbody
string
Parameter to provide mirror storage password.
mirror_poolbody
string
Parameter to provide mirror storage pool name
All the attributes are optional in the request body. Example of registering secondary storage in PowerVC and enabling global mirror:{ "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>", } }Example request to register Global Mirror Change Volume.{ "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" } } - Response body
-
Table 7. Parameters in the response for registering a secondary storage Name Style Type Description enable_mirrorbody
Boolean
Enables global mirror. Set option to
truefor enabling global mirror.mirror_private_key_databody
string
Provides complete SSH private key.
mirror_private_keybody
string
Provides path to SSH private key.
enable_gmcvbody
Boolean
Enables global mirror change volume. Set option to
Truefor enabling global mirror change volume.cycle_period_secondsbody
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.
source_child_pool_for_change_volumesbody
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.
target_child_pool_for_change_volumesbody
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.
mirror_access_ipbody
string
Provide the mirror (secondary) storage IP.
mirror_user_idbody
string
Parameter to provide mirror storage user ID.
mirror_passwordbody
string
Parameter to provide mirror storage password.
mirror_poolbody
string
Parameter to provide mirror storage pool name
replication_devicebody
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.
Example response when registering secondary storage in PowerVC for global mirror:{ "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" } }Example response to register Global Mirror Change Volume.{ "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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Server Error (500)
- Response body
-
Table 8. Parameters in the response for viewing all storage controllers Name Style Type Description host_namebody
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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Not Found (404), Server Error (500)
- Response body
-
Table 9. Parameters in the response for viewing a storage controller Name Style Type Description access_ip2body
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.
user_id2body
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
volume_pool_name2body
string
The name of the storage pool that is used as the default for managing the storage.
default_volume_type2body
string
The name of the storage template that is created as the default for the storage controller.
ssh_port2body
integer
The TCP port that is used connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_typebody
string
The type of the storage system to be configured. Only these values are supported:
svc, ds8k ,emc_vmax,hitachi, orgeneric(pluggable storage only).host_namebody
string
An internally generated unique name for the registered storage controller.
host_display_namebody
string
User-specified name that is given to the storage controller.
registered_atbody
string
The date and time when the storage controller was registered in PowerVC.
access_statebody
string
Shows the overall connectivity state to the storage controller and whether PowerVC can access it.
resourcebody
object
Resource capacity information of the storage controller.
volume_driver1body
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
configuration_properties.Example of viewing the details of a PowerVC supported storage controller:{"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" } } }Example of viewing the details of a pluggable storage controller:{"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.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400), Server Error (500)
- Request parameters
-
Table 10. Parameters in the request for viewing volume pools that are available on a storage controller Name Style Type Description access_ipbody
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.
user_idbody
string
User ID for connecting to the storage controller. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.
passwordbody
string
Conditional. Password for connecting to the storage controller. You must specify either the
passwordor theprivate_key_data. When using EMC PowerMax storage, this value applies to the EMC SMI-S provider.private_key_databody
string
Conditional. The SSH private key to connect to the storage controller. This attribute is only valid for SVC and Storewize v7000 storage.
ssh_portbody
integer
Optional. The TCP port to connect to SSH on the storage controller.
wbem_port2body
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.
storage_array_idbody
string
Required for EMC PowerMax storage. The identifier for the EMC PowerMax storage array. This value can be determined by calling the
/os-hosts/connectAPI.host_typebody
string
The type of the storage system to be configured. Only these values are supported:
svc, ds8k ,emc_vmax,hitachi, orgeneric(pluggable storage only).auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storewize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC Power Max and DS8000 storage types.Example of a request to view volume pools that are available on a storage controller (PowerVC supported storage):{"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 } } } - Response body
-
Table 11. Parameters in the response for viewing volume pools that are available on a storage controller Name Style Type Description pool_namebody
string
The name of the storage pool on the storage controller.
pool_free_capacity_gbbody
string
Free space in the storage pool in GB.
pool_total_capacity_gbbody
string
Total capacity in the storage pool in GB.
auto_add_host_keybody
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
True.Note: This attribute is only for SVC and Storewize v7000 storage.auto_add_certificatebody
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
True.Note: This attribute is only for EMC Power Max and DS8000 storage types.Example response when viewing volume pools that are available on a PowerVC supported storage controller:{"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. The following attributes are the new attributes that are needed for registering the HyperSwap storage controller.
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400) and Server Error (500)
- Request and response parameters
-
Table 12. Parameters in the request and response for HyperSwap registration Name Style Type Description hyperswap_capablebody
Boolean
If
hyperswap_capableis set totrue, it shows that IBM Storwize controller is configured with prerequisite for HyperSwap configuration.enable_hyperswapbody
Boolean
Set this property to truein API request body to enable HyperSwap.peerPoolsbody
object
Response in os-hosts/connectshowing details of the peer pool mapping.peer_pool_namebody
string
Pool name in another site. site_idbody
string
Site ID of Storwize site. site_namebody
string
Site name of Storwize site. - Examples
-
The following examples are for the registration API for HyperSwap registration.
- 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 } }
- Connect to the HyperSwap storage
controller
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.
- Response codes
-
- Normal Response Code: Created (201)
- Error Response Codes: Bad Request (400), Forbidden (403), and Not Found (404)
- Request parameters
-
Table 13. Parameters in the request for host site assignment Name Style Type Description idbody
integer
Storwize site ID. hostsbody
list of strings
List of host port WWPNs. Example of a request body{ "sites" : [ { "id": 1, "hosts": ["wwpn1", "wwpn2"] }, { "id": 2, "hosts": ["wwpn3", "wwpn4"] } ] } - Response body
-
Table 14. Parameters in the response for host site assignment Name Style Type Description site_namebody
string
Site name of Storwize site
hostsbody
list of strings
List of host port WWPNs.
Example response{ "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
- Response codes
-
- Normal Response Code: OK (200)
- Error Response Codes: Bad Request (400) and Server Error (500)
- Request parameters
- Register sync/async replication type storages
-
Table 15. Secondary storage details for sync/async storage Name Style Type Description enable_replicationbody
string
Enables the replication. Set the option to
sync/asyncfor enabling respective replication types.replication_typebody
string Provide the replication type of the storage. Replication types can be sync/async.access_ipbody
string
Parameter to provide the secondary storage IP. user_idbody
string
Parameter to provide secondary storage user ID. passwordbody
string
Parameter to provide secondary storage password. - Example of registering secondary storage in PowerVC and enabling sync/async replication
-
- Request body
-
{ "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>" } } } - Request to enable sync replication.
-
{ { "registration": { "enable_replication": "sync", "secondary_storage": { "replication_type": "sync", "access_ip": "9.3.250.136", "user_id": "pureuser", "password": "pureuser" } } } - Request to register async replication.
-
{ "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
-
Table 16. Response body for sync/async registration Name Style Type Description replication_typebody
string Provide the replication type of the secondary storage. access_ipbody
string
Provide the secondary storage IP. user_idbody
string
Parameter to provide secondary storage user ID. passwordbody
string
Parameter to provide secondary storage password. replication_devicebody
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. - Response when registering sync/async replication
-
.
{ "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>" } } - Response of sync replication
-
{ "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" } } - Response of async replication
-
{ "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" } } - Register secondary and tertiary storage and enable trisync replication
-
Table 17. Secondary and tertiary storage details for trisync registration Name Style Type Description enable_replicationbody
string Enables the replication. Set the option to trisyncfor enabling replication in both secondary and tertiary storages.replication_typebody
string Provide the replication type of the secondary and tertiary storages. Replication types can be sync/async. Secondary storage replication type must be syncand tertiary storage replication type must beasync.access_ipbody
string
Provide the secondary and tertiary storage IP. user_idbody
string
Parameter to provide secondary and tertiary storage user ID. passwordbody
string
Parameter to provide secondary and tertiary storage password.
- Example of registering secondary and tertiary storage in PowerVC and enabling trisync replication
-
- Request body
-
{ "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
-
Table 18. Response body for trisync registration Name Style Type Description replication_typebody
string Provide the replication type of the secondary and tertiary storage. access_ipbody
string
Provide the secondary and tertiary storage IP. user_idbody
string
Parameter to provide secondary and tertiary storage user ID. passwordbody
string
Parameter to provide secondary and tertiary storage password. pure_trisync_enabledbody Boolean Enables trisync. The option is set as trueiftrisyncis enabled.replication_devicebody 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.
- Response body
-
{ "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>" ] } } - Example
-
{ "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" ] } }