ViPR 2.2 - Add VMAX and VNX for Block Storage to ViPR using the REST API

Table of Contents

Overview

Learn the ViPR support requirements, and prerequisite information to prepare VMAX and VNX for Block storage systems for ViPR integration, and the steps to add the storage to ViPR using the REST API.

How the storage is discovered, and registered after it is added to ViPR is also described. Also included are the important REST API calls used to manage SMI-S Providers and perform optional configuration steps on the storage after it has been added, and discovered in ViPR.

This article is part of a series

Storage systems can be added to ViPR at anytime. If, however, you are setting up the ViPR Controller virtual data center for the first time, before you continue to provision storage, complete the following steps.
  1. Authenticate with the ViPR REST API
  2. Add physical assets to ViPR:
  3. Create ViPR virtual assets:
    1. Create and configure a virtual array
    2. Create virtual pools:

Back to Top

Add physical storage systems in VNX Block and VMAX

For VNX Block and VMAX, adding an SMI-S provider provides access to the storage systems. Once the SMI-S providers are added to ViPR, then the underlying storage systems, storage pools, and storage ports are discovered automatically without any further user input.

Before you begin

You need the following information:

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 VNX Block and VMAX storage to ViPR using the REST API. To use the ViPR UI to add VNX Block and VMAX storage to ViPR, see the Add Storage Systems Using the ViPR UI article.

Procedure

  1. Add the SMI-S Provider by sending a POST to /vdc/storage-providers.
    The request returns a task whose URI can be queried to determine the status of the task such as completion state, any failures, and the start time of the task request.
    In this example, the SMI-S Provider with the IP address of 192.168.0.0 is being registered.
    Request
    POST https://<ViPR_VIP>:4443/vdc/storage-providers
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN> 
    
    <storage_provider_create>
          <name>vnx_block_west3</name>
         <interface_type>smis</interface_type>
         <ip_address>192.168.0.0</ip_address>
         <port_number>5989</port_number>
         <user_name>admin1</user_name>
         <password>Password1</password>
         <use_ssl>true</use_ssl>    
    </storage_provider_create>
    Response
    HTTP 202 Accepted
    Content-Type: application/xml
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <task>
         <creation_time>1423494394837</creation_time>
         <global>false</global>
         <id>urn:storageos:Task:13fb870c-6e41-4806-8ad0-6fd6bd967660:vdc1</id>
         <inactive>false</inactive>
         <internal>false</internal>
         <link rel="self" href="/vdc/tasks/urn:storageos:Task:13fb870c-6e41-4806-8ad0-6fd6bd967660: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>703851ed-3d04-4005-b98d-001e3a294fdb</op_id>
         <progress>0</progress>
         <resource>
              <id>urn:storageos:StorageProvider:ff026693-1310-4e4d-8efe-547064bb3684:vdc1</id>
              <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:ff026693-1310-4e4d-8efe-547064bb3684:vdc1"/>
              <name>vnx_block_west3</name>
         </resource>
         <start_time>1423494394835</start_time>
         <state>pending</state>
    </task>
  2. Repeat the query of the SMI-S registration task, using the task URL from the response body of the POST request, until the message attribute of the task is Operation completed successfully.
    Request
    GET https://<ViPR_VIP>:4443/vdc/tasks/urn:storageos:Task:13fb870c-6e41-4806-8ad0-6fd6bd967660:vdc1
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <task>
         <creation_time>1423494394837</creation_time>
         <global>false</global>
         <id>urn:storageos:Task:13fb870c-6e41-4806-8ad0-6fd6bd967660:vdc1</id>
         <inactive>false</inactive>
         <internal>false</internal>
         <link rel="self" href="/vdc/tasks/urn:storageos:Task:13fb870c-6e41-4806-8ad0-6fd6bd967660: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>1423494621173</end_time>
         <message>Operation completed successfully</message>
         <op_id>703851ed-3d04-4005-b98d-001e3a294fdb</op_id>
         <progress>100</progress>
         <resource>
              <id>urn:storageos:StorageProvider:ff026693-1310-4e4d-8efe-547064bb3684:vdc1</id>
              <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:ff026693-1310-4e4d-8efe-547064bb3684:vdc1"/>
              <name>vnx_block_west3</name>
         </resource>
         <start_time>1423494394835</start_time>
         <state>ready</state>
    </task>
Back to Top

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.

Back to Top

Important REST API calls to manage SMI-S Providers and storage system configuration

The table shows some important APIs that are used to manage SMI-S Providers and storage system configuration.

Back to Top