ViPR 2.2 - Add Data Domain File Storage to ViPR Using the REST API

Table of Contents

Overview

Learn how to add Data Domain storage to ViPR using the REST API, as well as the ViPR support requirements and prerequisite information to prepare Data Domain systems for ViPR integration. Important REST API calls to manage and configure the storage after it has been added are also described.

This article is part of a series

Storage systems can be added to 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 Data Domain Storage to ViPR using the REST API

Data Domain Storage is added to ViPR as a storage provider.

Before you begin

  • Pre-configuration and support requirements.
  • Authenticate with the ViPR REST API as a System Administrator.
  • Data Domain storage is added to ViPR by adding the Data Domain Management Center as a storage provider.
  • Interface Type - ddmc.
  • IP Address of the Data Domain Management Center (DDMC).
  • Port Number - The port used to SSH into the DDMC host. The default is 3009.
  • user_name - user name for the DDMC. 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 Data Domain storage to ViPR using the REST API. To use the ViPR UI to add Data Domain storage to ViPRsee the Add Storage Systems Using the ViPR UI article.

Procedure

  1. Add the Data Domain Management Center to ViPR by sending a POST /vdc/storage-providers request. The request returns a task 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>DD_File_West2</name>
         <ip_address>192.168.0.0</ip_address>
         <port_number>3009</port_number>
         <user_name>sysadmin</user_name>
         <password>Password1</password>
         <interface_type>ddmc</interface_type>
    </storage_provider_create>
    Response
    HTTP 202 Accepted
    Content-Type: application/xml
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <task>
        <creation_time>1420385713229</creation_time>
        <global>false</global>
        <id>urn:storageos:Task:9537f7be-df54-4180-adad-6a00051ff70d:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/tasks/urn:storageos:Task:9537f7be-df54-4180-adad-6a00051ff70d: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>6adbba0b-8733-4ac7-8cc4-e3794667cedf</op_id>
        <progress>0</progress>
        <resource>
            <id>urn:storageos:StorageProvider:55ba859c-d9ca-4e6a-8fbf-8026753b5a2e:vdc1</id>
            <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:55ba859c-d9ca-4e6a-8fbf-8026753b5a2e:vdc1"/>
            <name>DD_File_West2</name>
        </resource>
        <start_time>1420385713227</start_time>
        <state>pending</state>
    </task>
    
  2. Query the Data Domain storage 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.
    Request
    GET https://<ViPR_VIP>:4443/vdc/tasks/urn:storageos:Task:9537f7be-df54-4180-adad-6a00051ff70d: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"?>
    <task>
        <creation_time>1420385713229</creation_time>
        <global>false</global>
        <id>urn:storageos:Task:9537f7be-df54-4180-adad-6a00051ff70d:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/tasks/urn:storageos:Task:9537f7be-df54-4180-adad-6a00051ff70d: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>1420385714931</end_time>
        <message>Operation completed successfully</message>
        <op_id>6adbba0b-8733-4ac7-8cc4-e3794667cedf</op_id>
        <progress>100</progress>
        <resource>
            <id>urn:storageos:StorageProvider:55ba859c-d9ca-4e6a-8fbf-8026753b5a2e:vdc1</id>
            <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:55ba859c-d9ca-4e6a-8fbf-8026753b5a2e:vdc1"/>
            <name>DD_File_West2</name>
        </resource>
        <start_time>1420385713227</start_time>
        <state>ready</state>
    </task>
    
Back to Top

IP network configuration requirements for storage

After the storage system is added to ViPR, create the IP networks to include in the virtual array, and be sure to add the necessary storage and host ports to use to provision the storage to the hosts.

ViPR can discover the ports of IP connected storage systems and hosts, but it cannot discover the paths between then, so it is necessary to create IP networks, and then add the host, and storage system ports, which will be provisioned together, to the same IP network.

Refer to Create and configure a ViPR virtual array using the ViPR REST API for more details.

Back to Top

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.

Back to Top