ViPR 2.2 - Add IBM XIV Storage to ViPR Using the ViPR REST API
Table of Contents
Overview
Learn how you, as a ViPR system administrator, can add IBM XIV® storage to ViPR using POST /vdc/storage-providers.
This article also describes how the storage is discovered, and registered after it is added to ViPR.
This article is part of a series
- Authenticate with the ViPR REST API
- Add physical assets to ViPR:
- Create ViPR virtual assets:
Add IBM XIV storage to ViPR using the REST API
IBM XIV storage is added to ViPR as a storage provider. Once you add the storage provider to ViPR, then the underlying storage systems, storage pools, and storage ports are discovered automatically without any further user input.
Before you begin
- Pre-configuration and support requirements.
- Authenticate with the ViPR REST API as a System Administrator.
- Interface Type - ibmxiv.
- IP Address of the host.
- Port Number - The port used to SSH into the host. The default is 5989.
- Use ssl - true.
- User name - name of the user used to SSH into the host. Storage system administrator privileges are required.
- Password - password associated with the user_name.
- The EMC ViPR REST API Reference provides a description and complete list of parameters for the REST API methods used in this article.
The following steps describe how to add IBM XIV storage to ViPR using the REST API. To use the ViPR UI to add IBM XIV storage to ViPRsee the Add Storage Systems Using the ViPR UI article.
Procedure
- Add the
IBM XIV storage to
ViPR using
POST /vdc/storage-providers. A task is returned whose URI can be queried to determine the status of the task.
Request
POST https://<ViPR_VIP>:4443/vdc/storage-providers Content-Type: application/xml X-SDS-AUTH-TOKEN: <AUTH_TOKEN> <storage_provider_create> <name>ibmxiv_block_1</name> <interface_type>ibmxiv</interface_type> <ip_address>192.168.0.0</ip_address> <port_number>5989</port_number> <use_ssl>true</use_ssl> <user_name>admin</user_name> <password>Password1</password> </storage_provider_create>
ResponseHTTP 202 Accepted Content-Type: application/xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <task> <creation_time>1421252561616</creation_time> <global>false</global> <id>urn:storageos:Task:7257936b-d460-4b7a-b6da-3791dfc89514:vdc1</id> <inactive>false</inactive> <internal>false</internal> <link rel="self" href="/vdc/tasks/urn:storageos:Task:7257936b-d460-4b7a-b6da-3791dfc89514:vdc1"/> <name>SCAN STORAGE PROVIDER</name> <remote>false</remote> <tags/> <vdc> <id>urn:storageos:VirtualDataCenter:99c5c185-ebb0-468a-8fe7-3ea6e65b7b57:vdc1</id> <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:99c5c185-ebb0-468a-8fe7-3ea6e65b7b57:vdc1"/> </vdc> <associated_resources/> <description>scan storage provider</description> <op_id>a99006d2-2d9a-4bfb-a0ba-80e52f7db3bd</op_id> <progress>0</progress> <resource> <id>urn:storageos:StorageProvider:8265d7a6-f42f-41ea-9a9a-1d2edf62c0bd:vdc1</id> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:8265d7a6-f42f-41ea-9a9a-1d2edf62c0bd:vdc1"/> <name>ibmxiv_block_1</name> </resource> <start_time>1421252561611</start_time> <state>pending</state> </task>
- Query the
IBM XIV storage provider create task, using the task ID from the response body of the POST request. When the
message attribute of the task is
Operation completed successfully, the operation has completed and the storage provider has been discovered.
Request
GET https://<ViPR_VIP>:4443/vdc/tasks/urn:storageos:Task:7257936b-d460-4b7a-b6da-3791dfc89514:vdc1 Content-Type: application/xml X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
ResponseHTTP 200 OK Content-Type: application/xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <task> <creation_time>1421252561616</creation_time> <global>false</global> <id>urn:storageos:Task:7257936b-d460-4b7a-b6da-3791dfc89514:vdc1</id> <inactive>false</inactive> <internal>false</internal> <link rel="self" href="/vdc/tasks/urn:storageos:Task:7257936b-d460-4b7a-b6da-3791dfc89514:vdc1"/> <name>SCAN STORAGE PROVIDER</name> <remote>false</remote> <tags/> <vdc> <id>urn:storageos:VirtualDataCenter:99c5c185-ebb0-468a-8fe7-3ea6e65b7b57:vdc1</id> <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:99c5c185-ebb0-468a-8fe7-3ea6e65b7b57:vdc1"/> </vdc> <associated_resources/> <description>scan storage provider</description> <end_time>1421252564007</end_time> <message>Operation completed successfully</message> <op_id>a99006d2-2d9a-4bfb-a0ba-80e52f7db3bd</op_id> <progress>100</progress> <resource> <id>urn:storageos:StorageProvider:8265d7a6-f42f-41ea-9a9a-1d2edf62c0bd:vdc1</id> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:8265d7a6-f42f-41ea-9a9a-1d2edf62c0bd:vdc1"/> <name>ibmxiv_block_1</name> </resource> <start_time>1421252561611</start_time> <state>ready</state> </task>
Network configuration for block storage systems
After the storage system is added to ViPR, it is recommended to add the corresponding SAN switch using POST /vdc/network-systems.
When a SAN switch is added to ViPR, the Fibre Channel networks (Brocade Fabrics or Cisco VSANs), are automatically discovered and registered in ViPR. Additionally, through discovery of the SAN switch topology, ViPR discovers, and registers the host initiators for hosts on the network, and identifies which storage systems are associated with the SAN switch.
Refer to Add network systems (fabric managers) and SAN networks to ViPR for more information.
- For Storage Systems that use ViPR services with the iSCSI protocol, the iSCSI host ports must be logged into the correct target array ports before they can be used in the service.
Important REST API calls to manage and configure storage systems
The table shows some important APIs that are used to manage and configure storage systems.