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

Table of Contents

Back to Top


This article provides ViPR System Administrators 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.

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 SMI-S Providers and perform optional configuration steps on the storage after it has been added, and discovered in ViPR.

This article applies to EMC ViPR 2.0.

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

EMC VMAX and VNX for block storage system version support

For supported versions, see the EMC ViPR Support Matrix on the EMC Community Network (

Back to Top

Collect SMI-S information

The EMC SMI-S Provider (a component of EMC Solutions Enabler) is required to use VMAX storage or VNX block. The following information is required to verify the SMI-S provider is configured correctly for ViPR, and to add the storage systems to ViPR.

Back to Top

Validate EMC SMI-S Provider setup


  1. Verify that your SMI-S Provider setup is valid.
    • The host server running Solutions Enabler (SYMAPI Server) and SMI-S Provider (ECOM) differs from the server where the VMAX service processors or VNX storage processors are running.
    • The VMAX/VNX array is discovered in the SMI-S Provider.
    • The remote host, SMI-S Provider (Solutions Enabler (SYMAPI Server) and EMC CIM Server (ECOM)) are configured to accept SSL connections.
    • The EMC storsrvd daemon is installed and running.
    • Ensure that SYMAPI Server and the ViPR server hosts are configured in the local DNS server and that their names are resolvable by each other, for proper communication between the two. If DNS is not used in the environment, be sure to use the hosts files for name resolution (/etc/hosts or c:/Windows/System32/drivers/etc/hosts).
    • The EMC CIM Server (ECOM) default user login, password expiration option is set to "Password never expires."
    • VNX connection is over the IP network with connections to both VNX storage processors.
    • For VNX, the SMI-S Provider host needs IP connectivity.
    • For VMAX, the SMI-S Provider host is able to see the gatekeepers (six minimum).
Back to Top

Preconfiguration requirements

Before adding VMAX or VNX for Block storage to ViPR, configure the storage, and storage provider as follows.

Create a sufficient amount of storage pools for storage provisioning with ViPR on both the VMAX and VNX for block storage systems.

VMAX storage systems

VNX for Block storage systems

SMI-S Provider

When the storage provider is added, all the storage systems managed by the storage provider will be added to ViPR. If you do not want all the storage systems on an SMI-S provider to be managed by ViPR, configure the SMI-S provider to only manage the storage systems that will be added to ViPR, before adding the SMI-S provider to ViPR.
Note Image
Storage systems that will not be used in ViPR, can also be deregistered, or deleted after the storage provider is added to ViPR.

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.


  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 is being registered.

    POST https://<ViPR_VIP>:4443/vdc/storage-providers Content-Type: application/xml X-SDS-AUTH-TOKEN: <AUTH_TOKEN> <storage_provider_create> <name>losam082</name> <interface_type>smis</interface_type> <ip_address></ip_address> <port_number>5989</port_number> <user_name>administrator</user_name> <password>password</password> <use_ssl>false</use_ssl> </storage_provider_create>


    HTTP 202 Accepted Content-Type: application/xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <task> <associated_resources/> <description>SCAN_STORAGEPROVIDER</description> <op_id>8fdd31c6-5fa0-45f8-b220-f7841ad66287</op_id> <resource> <id>urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1</id> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1"/> <name>losam082</name> </resource> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1/tasks/8fdd31c6-5fa0-45f8-b220-f7841ad66287"/> <start_time>1399986690229</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.

    GET https://<ViPR_VIP>:4443/vdc/storage-providers/urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1/tasks/8fdd31c6-5fa0-45f8-b220-f7841ad66287 Content-Type: application/xml X-SDS-AUTH-TOKEN: <AUTH_TOKEN>


    HTTP 200 OK Content-Type: application/xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <task> <associated_resources/> <description>SCAN_STORAGEPROVIDER</description> <end_time>1399986690952</end_time> <message>Operation completed successfully</message> <op_id>8fdd31c6-5fa0-45f8-b220-f7841ad66287</op_id> <resource> <id>urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1</id> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1"/> <name>losam082</name> </resource> <link rel="self" href="/vdc/storage-providers/urn:storageos:StorageProvider:65713aae-25fb-49ba-b0b6-2225719feab2:vdc1/tasks/8fdd31c6-5fa0-45f8-b220-f7841ad66287"/> <start_time>1399986690229</start_time> <state>ready</state> </task>

Back to Top

Network configuration requirements for storage

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.