ViPR 2.2 - Add NetApp storage to ViPR using the REST API

Table of Contents

Overview

As a ViPR System Administrator, learn the ViPR support requirements, and prerequisite information to prepare NetApp storage systems for ViPR integration, and the steps to add the storage to ViPR using the REST API.

This article also describes how the storage is discovered, and registered after it is added to ViPR, and the important REST API calls to manage and configure 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 a NetApp storage system

When you add a NetApp to ViPR, the array is automatically added to the ViPR discovery queue. If the credentials are correct, the array is automatically discovered. Storage system discovery adds the storage pools, and storage ports to ViPR. Storage systems that are registered are available to be used and managed by ViPR.

Before you begin

To successfully complete this procedure, you need the following information:
  • Pre-configuration and support requirements.
  • System Type - netapp.
  • IP Address - Direct the discovery request to the NetApp OnTap IP.
  • Port Number - The default is 443.
  • user_name - Name of the root account on the NetApp array.
  • password - Password of the root account on the NetApp array.

Authenticate with the ViPR REST API as System Administrator.

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

Procedure

  1. Add the NetApp storage system by sending a POST /vdc/storage-systems 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-systems
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <storage_system_create>
      <name>NetApp4</name>
      <system_type>netapp</system_type>
      <ip_address>192.168.0.0</ip_address>
      <port_number>443</port_number>
      <user_name>root</user_name>
      <password>dangerous1</password>
    </storage_system_create>
    
    Response
    HTTP 202 Accepted
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <task>
        <creation_time>1423002947063</creation_time>
        <global>false</global>
        <id>urn:storageos:Task:ba9a350f-0fea-4015-a4f7-81517e556afa:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/tasks/urn:storageos:Task:ba9a350f-0fea-4015-a4f7-81517e556afa:vdc1"/>
        <name>DISCOVER STORAGESYSTEM</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>discover a storage systems</description>
        <op_id>422eef0a-d24b-4c2c-a450-771537c57751</op_id>
        <progress>0</progress>
        <resource>
            <id>urn:storageos:StorageSystem:50d130b9-07a3-4a97-99c6-883d5f2dc95f:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:50d130b9-07a3-4a97-99c6-883d5f2dc95f:vdc1"/>
            <name>NetApp4</name>
        </resource>
        <start_time>1423002947062</start_time>
        <state>pending</state>
    </task>
    
    
  2. Query the NetApp create task, using the task URL 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:ba9a350f-0fea-4015-a4f7-81517e556afa: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>1423002947063</creation_time>
        <global>false</global>
        <id>urn:storageos:Task:ba9a350f-0fea-4015-a4f7-81517e556afa:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/tasks/urn:storageos:Task:ba9a350f-0fea-4015-a4f7-81517e556afa:vdc1"/>
        <name>DISCOVER STORAGESYSTEM</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>discover a storage systems</description>
        <end_time>1423002947316</end_time>
        <message>Operation completed successfully</message>
        <op_id>422eef0a-d24b-4c2c-a450-771537c57751</op_id>
        <progress>100</progress>
        <resource>
            <id>urn:storageos:StorageSystem:50d130b9-07a3-4a97-99c6-883d5f2dc95f:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:50d130b9-07a3-4a97-99c6-883d5f2dc95f:vdc1"/>
            <name>NetApp4</name>
        </resource>
        <start_time>1423002947062</start_time>
        <state>ready</state>
    </task>
    
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