ViPR 2.2 - Create and configure a ViPR virtual array using the ViPR REST API

Table of Contents

Overview

ViPR system administrators can use the ViPR REST API to create a virtual array, and assign an ACL to the virtual array. The REST API is also used to configure the networks, storage ports, and storage pools assigned to the virtual array.

For information on virtual arrays, see What is a ViPR virtual array?

This article is part of a series

Virtual arrays 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

Create a virtual array and assign an ACL

Before you begin

  • Authenticate with the ViPR REST API as a System Administrator to create or edit virtual arrays.
  • For virtual array configuration requirements and recommendations, see Configuration Considerations While Virtualizing Your Storage in ViPR.
  • At a minimum, a virtual array must include at least one network, and one storage system connected to the network.
    • Storage systems can be added directly to the virtual array, or can be brought into the virtual array with the networks.
    • Networks can be added directly to the virtual array, or can be brought in with the storage systems, if the networks were previously added to the ViPR physical assets.
  • Optionally, physical storage ports, and storage pools associated with the storage systems in the virtual array, can be assigned for use in the virtual array. When assigned, only those storage ports and storage pools will be used as resources when storage is provisioned from the virtual array.
  • A description and complete list of parameters for the REST API methods used in this article are described in the EMC ViPR REST API Reference.

The following steps describe how to create a virtual array in ViPR using the REST API. To use the ViPR UI to create a virtual array in ViPR see the Create and Configure ViPR Virtual Arrays article.

Procedure

  1. Create a virtual array by sending a POST/vdc/varrays.
    The request returns the representation of the new virtual array.
    Request
    POST https://<ViPR_VIP>:4443/vdc/varrays
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <varray_create>
         <name>Phoenix</name>
         <auto_san_zoning>true</auto_san_zoning>
    </varray_create>
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <varray>
        <creation_time>1399841344524</creation_time>
        <global>false</global>
        <id>urn:storageos:VirtualArray:44232490-75d6-4bec-b637-091e14cff7ec:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:44232490-75d6-4bec-b637-091e14cff7ec:vdc1"/>
        <name>Phoenix</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1"/>
        </vdc>
        <auto_san_zoning>true</auto_san_zoning>
        <block_settings>
            <auto_san_zoning>true</auto_san_zoning>
        </block_settings>
        <object_settings>
            <device_registered>false</device_registered>
            <protection_type></protection_type>
        </object_settings>
    </varray>
  2. Create an ACL for the virtual array and assign the tenant user to the ACL by sending a PUT /vdc/varrays/{Varray_URN}/acl. You can use GET /tenant to get the ID of your own tenant or GET /tenants/bulk to return a list of all tenants in ViPR.
    Request
    PUT https://<ViPR_VIP>:4443/vdc/varrays/urn:storageos:VirtualArray:44232490-75d6-4bec-b637-091e14cff7ec:vdc1/acl
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <acl_assignment_changes>
         <add>
               <privilege>USE</privilege>
               <tenant>urn:storageos:TenantOrg:6c7dde31-ec48-4028-8672-5e74f5754656:global</tenant>
         </add>
    </acl_assignment_changes>
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <acl_assignments>
           <acl_assignment>
                <privilege>USE</privilege>
                <tenant>urn:storageos:TenantOrg:c7ba7600-1a02-4558-954d-3de642eeacce:global</tenant>
           </acl_assignment>
           <acl_assignment>
                <privilege>USE</privilege>
                <tenant>urn:storageos:TenantOrg:6c7dde31-ec48-4028-8672-5e74f5754656:global</tenant>
           </acl_assignment>
      </acl_assignments>
Back to Top

Add and configure the networks for block storage in the virtual array

Fibre Channel networks are automatically added, discovered, and registered in ViPR when the fabric switch is added to the ViPR physical assets.

Back to Top

Add an existing fibre channel network to a virtual array

Fibre Channel networks are automatically added, discovered, and registered in ViPR when the fabric switch is added to the ViPR physical assets.

Before you begin

Procedure

  1. You can determine which networks are available using GET /vdc/networks.
    Request
    GET https://<ViPR_VIP>:4443/vdc/networks
    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"?>
    <networks>
        <network>
            <id>urn:storageos:Network:079b9be1-2342-41a0-84e3-26b4d0fd108a:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:079b9be1-2342-41a0-84e3-26b4d0fd108a:vdc1"/>
            <name>FABRIC_vplex154nbr2-10:00:00:27:f8:58:f6:c2</name>
        </network>
        <network>
            <id>urn:storageos:Network:922f1519-e8ee-438a-a11a-b7f3a139e0b3:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:922f1519-e8ee-438a-a11a-b7f3a139e0b3:vdc1"/>
            <name>VSAN_56</name>
        </network>
        <network>
            <id>urn:storageos:Network:c67c9728-4d89-4e57-a345-dc88bf1213ec:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:c67c9728-4d89-4e57-a345-dc88bf1213ec:vdc1"/>
            <name>FABRIC_Brocade B FE</name>
        </network>
        <network>
            <id>urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1"/>
            <name>VSAN_57</name>
        </network>
    </networks>
  2. Use GET /vdc/networks/{Network_URN} to obtain further details about specific networks.
    Request
    GET https://<ViPR_VIP>:4443/vdc/networks/urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98: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"?>
    <network>
        <creation_time>1398806587983</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1"/>
        <name>VSAN_57</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1"/>
        </vdc>
        <native_guid>FC+MDS+20:39:00:2A:6A:3E:3D:41</native_guid>
        <assigned_varrays>
            <assigned_varray>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</assigned_varray>
        </assigned_varrays>
        <connected_varrays>
            <connected_varray>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</connected_varray>
        </connected_varrays>
        <discovered>true</discovered>
        <endpoints>
            <endpoint>50:00:14:42:80:60:0B:13</endpoint>
            <endpoint>50:00:14:42:90:60:0B:13</endpoint>
            <endpoint>50:06:01:6B:46:E0:66:37</endpoint>
            <endpoint>50:00:09:73:F0:06:71:40</endpoint>
            <endpoint>50:06:01:63:46:E0:66:37</endpoint>
            <endpoint>50:00:09:73:F0:06:71:44</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>50:00:14:42:80:60:0B:13</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:06:01:6B:46:E0:66:37</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:14:42:90:60:0B:13</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:09:73:F0:06:71:40</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:06:01:63:46:E0:66:37</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:09:73:F0:06:71:44</name>
                <value>true</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <fabric_id>57</fabric_id>
        <network_systems>
            <network_system>urn:storageos:NetworkSystem:74a20311-cd89-4ce7-90b3-54a3a8bc814a:vdc1</network_system>
        </network_systems>
        <registration_status>REGISTERED</registration_status>
        <transport_type>FC</transport_type>
        <varray>
            <id>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1"/>
        </varray>
    </network>
    
    
  3. Select the appropriate fiber channel network (<transport_type>FC</transport_type>), and assign the network to the virtual array by sending a PUT /vdc/networks/{Network_URN} request, including the URN of the virtual array to which the network is to be assigned in the request payload.
    Request
    PUT https://<ViPR_VIP>:4443/vdc/networks/urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <network_update>
         <varrays>
                   <varray>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</varray>
         </varrays>
    </network_update>
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <network>
        <creation_time>1398806587983</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:a0fe52d9-9683-46d8-b52d-12c6e73b7b98:vdc1"/>
        <name>VSAN_57</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:440b70de-fd36-4361-a455-b6ca65fb8228:vdc1"/>
        </vdc>
        <native_guid>FC+MDS+20:39:00:2A:6A:3E:3D:41</native_guid>
        <assigned_varrays>
            <assigned_varray>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</assigned_varray>
        </assigned_varrays>
        <connected_varrays>
            <connected_varray>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</connected_varray>
        </connected_varrays>
        <discovered>true</discovered>
        <endpoints>
            <endpoint>50:00:14:42:80:60:0B:13</endpoint>
            <endpoint>50:00:14:42:90:60:0B:13</endpoint>
            <endpoint>50:06:01:6B:46:E0:66:37</endpoint>
            <endpoint>50:00:09:73:F0:06:71:40</endpoint>
            <endpoint>50:06:01:63:46:E0:66:37</endpoint>
            <endpoint>50:00:09:73:F0:06:71:44</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>50:00:14:42:80:60:0B:13</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:06:01:6B:46:E0:66:37</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:14:42:90:60:0B:13</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:09:73:F0:06:71:40</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:06:01:63:46:E0:66:37</name>
                <value>true</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>50:00:09:73:F0:06:71:44</name>
                <value>true</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <fabric_id>57</fabric_id>
        <network_systems>
            <network_system>urn:storageos:NetworkSystem:74a20311-cd89-4ce7-90b3-54a3a8bc814a:vdc1</network_system>
        </network_systems>
        <registration_status>REGISTERED</registration_status>
        <transport_type>FC</transport_type>
        <varray>
            <id>urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:27a6a3a8-ead4-4e11-92af-7d4bc2e5f5af:vdc1"/>
        </varray>
    </network>
    
    
Back to Top

Configure a new fibre channel network for a virtual array

Procedure

  1. Get the list of virtual arrays.
    Request
    GET https://<ViPR_VIP>:4443/vdc/varrays
    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"?>
    <varrays>
        <varray>
            <id>urn:storageos:VirtualArray:69b363c5-f412-4fac-9f5d-0c5367628c17:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:69b363c5-f412-4fac-9f5d-0c5367628c17:vdc1"/>
            <name>snapshot test</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1"/>
            <name>varray_west_1</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1"/>
            <name>varray_east_1</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1"/>
            <name>varray2</name>
        </varray>
    </varrays>
    
    
  2. Using the URN of the selected virtual array, configure a new fibre channel network for the selected virtual array by sending POST /vdc/varrays/{id}/networks.
    Request
    POST https://<ViPR_VIP>:4443/vdc/varrays/urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1/networks
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <network_create>
        <name>FC_network_west_1</name>
        <transport_type>FC</transport_type>
        <endpoints>
              <endpoint>10:00:20:00:c9:79:f1:46 </endpoint>
              <endpoint>10:00:20:00:c9:79:f1:47 </endpoint>
        </endpoints>
    </network_create>
    
    Reponse
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <network>
        <creation_time>1400177060451</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:e508d8b6-6738-4311-ad4d-4c582cf7b0d6:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:e508d8b6-6738-4311-ad4d-4c582cf7b0d6:vdc1"/>
        <name>FC_network_west_1</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1"/>
        </vdc>
        <native_guid></native_guid>
        <assigned_varrays>
            <assigned_varray>urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1</assigned_varray>
        </assigned_varrays>
        <connected_varrays>
            <connected_varray>urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1</connected_varray>
        </connected_varrays>
        <discovered>false</discovered>
        <endpoints>
            <endpoint>10:00:20:00:C9:79:F1:47</endpoint>
            <endpoint>10:00:20:00:C9:79:F1:46</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>10:00:20:00:C9:79:F1:47</name>
                <value>false</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>10:00:20:00:C9:79:F1:46</name>
                <value>false</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <registration_status>REGISTERED</registration_status>
        <transport_type>FC</transport_type>
        <varray>
            <id>urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1"/>
        </varray>
    </network>
Back to Top

Add and configure the networks for file storage in a virtual array

ViPR can discover the ports of IP connected storage systems and hosts, but it cannot discover the paths between them, 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.

Back to Top

Add an existing IP network to a virtual array

If the IP network has already been created, and configured using POST /vdc/networks, you will just need to add the network to the virtual array.

Before you begin

URN of the virtual array to which the IP network is being added.

Procedure

  1. You can get which networks are available using GET /vdc/networks.
    Request
    GET https://<ViPR_VIP>:4443/vdc/networks
    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"?>
    <networks>
        <network>
            <id>urn:storageos:Network:b10c046f-0968-4c30-91cd-b2b34f1d7f5e:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:b10c046f-0968-4c30-91cd-b2b34f1d7f5e:vdc1"/>
            <name>FABRIC_vplex154nbr2</name>
        </network>
        <network>
            <id>urn:storageos:Network:fc2824bd-0935-43e4-a062-748b48f7f99e:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:fc2824bd-0935-43e4-a062-748b48f7f99e:vdc1"/>
            <name>FABRIC_VPlex_Meta_Fid_20</name>
        </network>
        <network>
            <id>urn:storageos:Network:abaf3cec-cdd1-4751-b9bf-ba02dafe7603:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:abaf3cec-cdd1-4751-b9bf-ba02dafe7603:vdc1"/>
            <name>FABRIC_VPLEX_WAN_lglw6208/lglw6209</name>
        </network>
        <network>
            <id>urn:storageos:Network:6c5cbf7f-d0eb-40f8-9e35-e35e2c8d5f77:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:6c5cbf7f-d0eb-40f8-9e35-e35e2c8d5f77:vdc1"/>
            <name>FABRIC_VPlex_LGL6221_FID_40</name>
        </network>
        <network>
            <id>urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1"/>
            <name>IP_network_west1</name>
        </network>
        <network>
            <id>urn:storageos:Network:602444e4-b338-4620-9e07-84247de5406d:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:602444e4-b338-4620-9e07-84247de5406d:vdc1"/>
            <name>FABRIC_Vplex_WAN-10:00:00:27:f8:58:f6:bc</name>
        </network>
        <network>
            <id>urn:storageos:Network:eff96c90-d67a-400e-9b07-2c308ba5ee51:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:eff96c90-d67a-400e-9b07-2c308ba5ee51:vdc1"/>
            <name>FABRIC_fake array fabric</name>
        </network>
        <network>
            <id>urn:storageos:Network:0776a1c7-97d6-498d-ad01-d03c9cc10925:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:0776a1c7-97d6-498d-ad01-d03c9cc10925:vdc1"/>
            <name>FABRIC_VPlex_LGL6220_FID_30-10:00:00:27:f8:58:f6:c1</name>
        </network>
        <network>
            <id>urn:storageos:Network:cb3a82dd-0202-4d6a-8f3f-3966fd817e82:vdc1</id>
            <link rel="self" href="/vdc/networks/urn:storageos:Network:cb3a82dd-0202-4d6a-8f3f-3966fd817e82:vdc1"/>
            <name>FABRIC_losam082-fabric</name>
        </network>
    </networks>
  2. Use GET /vdc/networks/{Network_URN} to get further details about a specific network.
    Request
    GET https://<ViPR_VIP>:4443/vdc/networks/urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4: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"?>
    <network>
        <creation_time>1400172861659</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1"/>
        <name>IP_network_west1</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1"/>
        </vdc>
        <native_guid></native_guid>
        <discovered>false</discovered>
        <endpoints>
            <endpoint>192.168.0.10</endpoint>
            <endpoint>192.168.0.20</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>192.168.0.10</name>
                <value>false</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>192.168.0.20</name>
                <value>false</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <registration_status>REGISTERED</registration_status>
        <transport_type>IP</transport_type>
    </network>
    
    
  3. Select the appropriate network, and assign the IP network to the virtual array by sending a PUT /vdc/networks/{Network_URN} request, including the URN of the virtual array to which the network is to be assigned in the request payload. The updated network representation, with the varray added, is returned.
    Request
    PUT https://<ViPR_VIP>:4443/vdc/networks/urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <network_update>
         <varrays>
                   <varray>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</varray>
         </varrays>
    </network_update>
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <network>
        <creation_time>1400172861659</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:beb93fc4-d696-4be3-a4c9-80fab40d34b4:vdc1"/>
        <name>IP_network_west1</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1"/>
        </vdc>
        <native_guid></native_guid>
        <assigned_varrays>
            <assigned_varray>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</assigned_varray>
        </assigned_varrays>
        <connected_varrays>
            <connected_varray>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</connected_varray>
        </connected_varrays>
        <discovered>false</discovered>
        <endpoints>
            <endpoint>192.168.0.10</endpoint>
            <endpoint>192.168.0.20</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>192.168.0.10</name>
                <value>false</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>192.168.0.20</name>
                <value>false</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <registration_status>REGISTERED</registration_status>
        <transport_type>IP</transport_type>
        <varray>
            <id>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1"/>
        </varray>
    </network>
Back to Top

Configure a new IP network for a virtual array

Procedure

  1. Get the list of virtual arrays.
    Request
    GET https://<ViPR_VIP>:4443/vdc/varrays
    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"?>
    <varrays>
        <varray>
            <id>urn:storageos:VirtualArray:69b363c5-f412-4fac-9f5d-0c5367628c17:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:69b363c5-f412-4fac-9f5d-0c5367628c17:vdc1"/>
            <name>snapshot test</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:eed33299-3fa4-4de1-be44-73949a7a42ea:vdc1"/>
            <name>varray_west_1</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1"/>
            <name>varray_east_1</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:bd15ab0c-fc25-4256-9ccb-73dea570d65c:vdc1"/>
            <name>varray2</name>
        </varray>
    </varrays>
    
    
  2. Using the URN of the selected virtual array, configure a new IP network for the selected virtual array by sending POST /vdc/varrays/{id}/networks.
    Request
    POST https://<ViPR_VIP>:4443/vdc/varrays/urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1/networks
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <network_create>
        <name>IP_network_east_1</name>
        <transport_type>IP</transport_type>
        <endpoints>
              <endpoint>192.169.100.10</endpoint>
              <endpoint>192.168.100.40</endpoint>
        </endpoints>
    </network_create>
    
    Reponse
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <network>
        <creation_time>1400181561583</creation_time>
        <global>false</global>
        <id>urn:storageos:Network:f6e2d237-a770-4085-924a-0d11afdb8e6a:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/networks/urn:storageos:Network:f6e2d237-a770-4085-924a-0d11afdb8e6a:vdc1"/>
        <name>IP_network_east_1</name>
        <remote>false</remote>
        <tags/>
        <vdc>
            <id>urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1</id>
            <link rel="self" href="/vdc/urn:storageos:VirtualDataCenter:030618c2-c6b2-40b0-a105-6b669983f58f:vdc1"/>
        </vdc>
        <native_guid></native_guid>
        <assigned_varrays>
            <assigned_varray>urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1</assigned_varray>
        </assigned_varrays>
        <connected_varrays>
            <connected_varray>urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1</connected_varray>
        </connected_varrays>
        <discovered>false</discovered>
        <endpoints>
            <endpoint>192.168.100.40</endpoint>
            <endpoint>192.169.100.10</endpoint>
        </endpoints>
        <endpoints_discovered>
            <endpoint_discovered>
                <name>192.168.100.40</name>
                <value>false</value>
            </endpoint_discovered>
            <endpoint_discovered>
                <name>192.169.100.10</name>
                <value>false</value>
            </endpoint_discovered>
        </endpoints_discovered>
        <registration_status>REGISTERED</registration_status>
        <transport_type>IP</transport_type>
        <varray>
            <id>urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:e6f1d340-9a32-4c4a-990d-c346125b4141:vdc1"/>
        </varray>
    </network>
Back to Top

Optionally restrict access to storage pools by manually assigning them to a virtual array

When no specific storage pools are manually assigned to a virtual array, then all available pools from the storage arrays are available to the virtual array. Optionally, you can restrict access to certain pools by manually assigning them to a specific virtual array.

Before you begin

Authenticate with the ViPR REST API as a System Administrator.

Procedure

  1. Get the URN of the storage system, on which the storage pools were created, by sending GET /vdc/storage-systems
    This request returns a list of all of the physical storage arrays.
    Request
    GET https://<ViPR_VIP>:4443/vdc/storage-systems
    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"?>
    <storage_systems>
        <storage_system>
            <id>urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1"/>
            <name>VNXE+FNM00135000061</name>
        </storage_system>
        <storage_system>
            <id>urn:storageos:StorageSystem:acc7c01a-0d1d-48b8-afce-93636e0cb748:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:acc7c01a-0d1d-48b8-afce-93636e0cb748:vdc1"/>
            <name>CLARIION+APM00112800557</name>
        </storage_system>
        <storage_system>
            <id>urn:storageos:StorageSystem:a27276b9-b2ae-4bba-8741-08be646efc92:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:a27276b9-b2ae-4bba-8741-08be646efc92:vdc1"/>
            <name>losat018.lss.emc.com</name>
        </storage_system>
        <storage_system>
            <id>urn:storageos:StorageSystem:848eedd3-f5a8-4c14-bde8-c11a82b93dce:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:848eedd3-f5a8-4c14-bde8-c11a82b93dce:vdc1"/>
            <name>IBMXIV+IBM.2810-7825363</name>
        </storage_system>
        <storage_system>
            <id>urn:storageos:StorageSystem:d8012fac-4237-4953-8857-adc217a7c5dd:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:d8012fac-4237-4953-8857-adc217a7c5dd:vdc1"/>
            <name>isilon1</name>
        </storage_system>
        <storage_system>
            <id>urn:storageos:StorageSystem:2b576fd1-c40a-4bbf-bdb6-73c529b13487:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2b576fd1-c40a-4bbf-bdb6-73c529b13487:vdc1"/>
            <name>SYMMETRIX+000198700406</name>
        </storage_system>
    </storage_systems>
    
    
  2. Use the storage system URN to get detailed information about the storage array by sending a GET /vdc/storage-systems/{Storage_URN} request.
    The request returns the representation of the storage system.
    Request
    GET https://<ViPR_VIP>:4443/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea: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"?>
    <storage_system>
        <creation_time>1421364124360</creation_time>
        <global>false</global>
        <id>urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1"/>
        <name>VNXE+FNM00135000061</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>
        <native_guid>VNXE+FNM00135000061</native_guid>
        <compatibility_status>COMPATIBLE</compatibility_status>
        <job_discovery_status>COMPLETE</job_discovery_status>
        <last_discovery_run_time>1423607690987</last_discovery_run_time>
        <last_discovery_status_message>Discovery completed successfully for Storage System: urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1</last_discovery_status_message>
        <last_metering_run_time>1423607644158</last_metering_run_time>
        <job_metering_status>COMPLETE</job_metering_status>
        <next_discovery_run_time>1423611274176</next_discovery_run_time>
        <next_metering_run_time>1423611244106</next_metering_run_time>
        <registration_status>REGISTERED</registration_status>
        <success_discovery_time>1423607690987</success_discovery_time>
        <success_metering_time>1423607644158</success_metering_time>
        <system_type>vnxe</system_type>
        <associated_systems/>
        <export_masks/>
        <firmware_version>3.0.1</firmware_version>
        <ip_address>10.247.40.221</ip_address>
        <max_resources>-1</max_resources>
        <num_resources>0</num_resources>
        <port_number>443</port_number>
        <protocols/>
        <smis_providers/>
        <reachable>true</reachable>
        <connected_systems/>
        <secondary_ips/>
        <serial_number>FNM00135000061</serial_number>
        <smis_use_ssl>false</smis_use_ssl>
        <async_actions>
            <async_action>CreateGroupReplica</async_action>
            <async_action>CreateElementReplica</async_action>
        </async_actions>
        <supported_replication_types>
            <supported_replication_type>LOCAL</supported_replication_type>
        </supported_replication_types>
        <user_name>bourne</user_name>
    </storage_system>
    
  3. Get the list of virtual arrays by sending GET /vdc/varrays.
    Request
    GET https://<ViPR_VIP>:4443/vdc/varrays
    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"?>
    <varrays>
        <varray>
            <id>urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1"/>
            <name>vblock_varray1</name>
        </varray>
        <varray>
            <id>urn:storageos:VirtualArray:0d3276fc-a65b-45c5-bc41-527251476738:vdc1</id>
            <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:0d3276fc-a65b-45c5-bc41-527251476738:vdc1"/>
            <name>Phoenix</name>
        </varray>
    </varrays>
    
  4. Use the virtual array URN to get detailed information about the virtual array.
    Request
    GET https://<ViPR_VIP>:4443/vdc/varrays/urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86: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"?>
    <varray>
        <creation_time>1422289959135</creation_time>
        <global>false</global>
        <id>urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/varrays/urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1"/>
        <name>vblock_varray1</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>
        <auto_san_zoning>true</auto_san_zoning>
        <block_settings>
            <auto_san_zoning>true</auto_san_zoning>
        </block_settings>
        <object_settings>
            <device_registered>false</device_registered>
            <protection_type/>
        </object_settings>
    </varray>
  5. Get the list of storage pools on the storage system by sending GET /vdc/storage-systems/{Storage_URN}/storage-pools.
    Request
    GET https://<ViPR_VIP>:4443/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools
    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"?>
    <storage_pools>
        <storage_pool>
            <id>urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1"/>
            <name>VNXE+FNM00135000061+POOL+pool_1</name>
        </storage_pool>
        <storage_pool>
            <id>urn:storageos:StoragePool:4ba86c2b-19c1-4714-aff4-d8ebc5fc808a:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:4ba86c2b-19c1-4714-aff4-d8ebc5fc808a:vdc1"/>
            <name>VNXE+FNM00135000061+POOL+pool_8</name>
        </storage_pool>
        <storage_pool>
            <id>urn:storageos:StoragePool:b401f7ce-fe40-4be0-8eea-02bd332329fd:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:b401f7ce-fe40-4be0-8eea-02bd332329fd:vdc1"/>
            <name>VNXE+FNM00135000061+POOL+pool_2</name>
        </storage_pool>
        <storage_pool>
            <id>urn:storageos:StoragePool:f42a22a4-398c-4d4d-a9f2-49a38010272b:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:f42a22a4-398c-4d4d-a9f2-49a38010272b:vdc1"/>
            <name>VNXE+FNM00135000061+POOL+pool_4</name>
        </storage_pool>
    </storage_pools>
    
  6. Get the detailed information of the storage pool to add to the virtual array by sending GET /vdc/storage-systems/{Storage_URN}/storage-pools/{Pool_URN}.
    Request
    GET https://<ViPR_VIP>:4443/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78: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"?>
    <storage_pool>
        <creation_time>1421364142991</creation_time>
        <global>false</global>
        <id>urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1"/>
        <name>VNXE+FNM00135000061+POOL+pool_1</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>
        <native_guid>VNXE+FNM00135000061+POOL+pool_1</native_guid>
        <auto_tiering_supported>false</auto_tiering_supported>
        <compatibility_status>COMPATIBLE</compatibility_status>
        <controller_params/>
        <copy_types/>
        <discovery_status>VISIBLE</discovery_status>
        <drive_types>
            <drive_type>SAS</drive_type>
        </drive_types>
        <free_gb>590</free_gb>
        <long_term_retention>false</long_term_retention>
        <max_pool_utilization_percentage>75</max_pool_utilization_percentage>
        <max_resources>-1</max_resources>
        <max_thin_pool_subscription_percentage>300</max_thin_pool_subscription_percentage>
        <maximum_thick_volume_size_gb>590</maximum_thick_volume_size_gb>
        <maximum_thin_volume_size_gb>590</maximum_thin_volume_size_gb>
        <minimum_thick_volume_size_gb>0</minimum_thick_volume_size_gb>
        <minimum_thin_volume_size_gb>0</minimum_thin_volume_size_gb>
        <operational_status>READY</operational_status>
        <percent_subscribed>89</percent_subscribed>
        <percent_used>45</percent_used>
        <pool_name>StoragePool00</pool_name>
        <pool_service_type>block_file</pool_service_type>
        <protocols>
            <protocol>iSCSI</protocol>
            <protocol>CIFS</protocol>
            <protocol>FC</protocol>
            <protocol>NFS</protocol>
        </protocols>
        <raid_levels>
            <raid_level>RAID5</raid_level>
        </raid_levels>
        <registration_status>REGISTERED</registration_status>
        <storage_system>
            <id>urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1"/>
        </storage_system>
        <subscribed_gb>945</subscribed_gb>
        <supported_resource_types>THIN_AND_THICK</supported_resource_types>
        <thin_volume_preallocation_supported>false</thin_volume_preallocation_supported>
        <tier_utilization_percentages/>
        <usable_gb>1072</usable_gb>
        <used_gb>482</used_gb>
    </storage_pool>
    
  7. Assign a storage pool to the virtual array by sending PUT /vdc/storage-pools/{Pool_URN}. The URN of the virtual array to which the storage pool is being assigned is included in the request payload.
    The updated representation of the virtual array is returned.
    Request
    PUT https://<ViPR_VIP>:4443/vdc/storage-pools/urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1
    Content-Type: application/xml
    X-SDS-AUTH-TOKEN: <AUTH_TOKEN>
    
    <storage_pool_update>
         <varray_assignment_changes>
              <add>
                 <varray>urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1</varray>
              </add>
         </varray_assignment_changes>
    </storage_pool_update>
    Response
    HTTP 200 OK
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <storage_pool>
        <creation_time>1421364142991</creation_time>
        <global>false</global>
        <id>urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1</id>
        <inactive>false</inactive>
        <internal>false</internal>
        <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1/storage-pools/urn:storageos:StoragePool:33e228e5-9547-4f69-a7c3-c3bc7d36bc78:vdc1"/>
        <name>VNXE+FNM00135000061+POOL+pool_1</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>
        <native_guid>VNXE+FNM00135000061+POOL+pool_1</native_guid>
        <assigned_varrays>urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1</assigned_varrays>
        <tagged_varrays>urn:storageos:VirtualArray:ac294bc7-0518-48dd-9f54-4980f0012f86:vdc1</tagged_varrays>
        <auto_tiering_supported>false</auto_tiering_supported>
        <compatibility_status>COMPATIBLE</compatibility_status>
        <controller_params/>
        <copy_types/>
        <discovery_status>VISIBLE</discovery_status>
        <drive_types>
            <drive_type>SAS</drive_type>
        </drive_types>
        <free_gb>590</free_gb>
        <long_term_retention>false</long_term_retention>
        <max_pool_utilization_percentage>75</max_pool_utilization_percentage>
        <max_resources>-1</max_resources>
        <max_thin_pool_subscription_percentage>300</max_thin_pool_subscription_percentage>
        <maximum_thick_volume_size_gb>590</maximum_thick_volume_size_gb>
        <maximum_thin_volume_size_gb>590</maximum_thin_volume_size_gb>
        <minimum_thick_volume_size_gb>0</minimum_thick_volume_size_gb>
        <minimum_thin_volume_size_gb>0</minimum_thin_volume_size_gb>
        <operational_status>READY</operational_status>
        <percent_subscribed>89</percent_subscribed>
        <percent_used>45</percent_used>
        <pool_name>StoragePool00</pool_name>
        <pool_service_type>block_file</pool_service_type>
        <protocols>
            <protocol>iSCSI</protocol>
            <protocol>CIFS</protocol>
            <protocol>FC</protocol>
            <protocol>NFS</protocol>
        </protocols>
        <raid_levels>
            <raid_level>RAID5</raid_level>
        </raid_levels>
        <registration_status>REGISTERED</registration_status>
        <storage_system>
            <id>urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1</id>
            <link rel="self" href="/vdc/storage-systems/urn:storageos:StorageSystem:2370c474-4d8d-44a9-8ebf-58aa87b5b3ea:vdc1"/>
        </storage_system>
        <subscribed_gb>945</subscribed_gb>
        <supported_resource_types>THIN_AND_THICK</supported_resource_types>
        <thin_volume_preallocation_supported>false</thin_volume_preallocation_supported>
        <tier_utilization_percentages/>
        <usable_gb>1072</usable_gb>
        <used_gb>482</used_gb>
    </storage_pool>
    
Back to Top

Virtual Array requirements for Vblock system services

For Vblock systems, storage must be accessible to compute systems through the virtual array. Vblock systems configured using the VCE logical build guide will have networks configured that connect the Cisco Unified Computing System™ (UCS) compute system to the storage via the SAN switches.

In ViPR, virtual arrays should be created just as you would for any non-Vblock system. The networks that are defined in the virtual arrays will then determine whether the UCS systems have visibility to ViPR storage.

The most effective thing is to do is discover all the Vblock system physical assets before defining virtual arrays. After discovering all components, consult with the UCS administrator to determine which networks (VSANs) will be used on a given Vblock system. Use those networks to define the ViPR virtual arrays. On less complicated Vblock system configurations, for example, a single Vblock system, simply adding the storage system to the virtual array may be enough. Once the virtual arrays are defined, they will be used by ViPR for the following:

ViPR makes these determinations by calculating which UCS compute systems have visibility to storage through the networks in the virtual arrays.

Back to Top