Storage Pool:Update Storage Pool

Search (SHIFT+S)



Update Storage Pool

PUT /vdc/storage-pools/{id}

This API call only allows user to update virtual array & virtual pool assignments for the registered storage pool.

A pool can be associated with a virtual array either implicitly or explicitly. A pool is implicitly associated with a virtual array when the pool's storage system has one or more ports in the virtual array (see {@link StoragePool#getConnectedVirtualArrays()}). the pool's implicit virtual arrays are the union of all the tagged virtual arrays of the storage array ports. This implicit association cannot be changed or removed, it can only be overridden by an explicit assignment (see {@link StoragePool#getAssignedVirtualArrays()}). A pool's effective virtual array association is {@link StoragePool#getTaggedVirtualArrays()})

Managing pools associated virtual arrays requires planning. In general, pools should be assigned to virtual arrays only when it is desired to limit the virtual arrays where they can be used.

idthe URN of a ViPR storage pool.

Required Roles

Requires one of the following roles:

  • SYSTEM_ADMIN
  • RESTRICTED_SYSTEM_ADMIN

Request Payload

All parameters are required unless otherwise stated.

Field Description Type Notes
<storage_pool_update>
<max_pool_utilization_percentage> The user-defined limit for this pool's utilization Integer
<max_thin_pool_subscription_percentage> The maximum percentage of usable space that can be assigned to thin volumes Integer
<max_resources> The maximum number of ViPR storage resources that can exist in this pool Integer Valid Values:
  •  Range: 0..2147483647
<unlimited_resources> Whether limit on number of Resources has been set Boolean
<varray_assignment_changes>    
<add>    
<varray> String 0-* Elements
</add>      
<remove>    
<varray> String 0-* Elements
</remove>      
</varray_assignment_changes>      
</storage_pool_update>

Response Body

A StoragePoolRestRep specifying the updated storage pool info.

Field Description Type Notes
<storage_pool>
<controller_params>
<controller_param>     0-* Elements
<name> String
<value> String
</controller_param>      
</controller_params>
<copy_types> The supported local replication types for this pool
<copy_type> String 0-* Elements
</copy_types>
<drive_types> The disk drives types in the pool
<drive_type> String 0-* Elements
</drive_types>
<free_gb> The amount of free space in the pool (GB) Long
<max_resources> The maximum number of ViPR storage resources that can exist in this pool Integer
<num_resources> The number of ViPR storage resources that exist in this pool Integer
<operational_status> The operational status of the pool String Valid Values:
  •  NOT_READY
  •  READY
<registration_status> Whether or not this pool is registered with ViPR. A pool must be registered before it can be managed by ViPR. String Valid Values:
  •  REGISTERED
  •  UNREGISTERED
<percent_subscribed> The percentage of usable space that has been assigned to all volumes in the pool and visible to attached hosts. This includes primary and snapshot space. (GB) Long
<percent_used> The percentage of consumed usable space in the pool (GB) Long
<maximum_thin_volume_size_gb> The maximum size for thin volumes in this pool (GB) Long
<minimum_thin_volume_size_gb> The minimum size for thin volumes in this pool (GB) Long
<maximum_thick_volume_size_gb> The maximum size for thick volumes in this pool (GB) Long
<minimum_thick_volume_size_gb> The minimum size for thick volumes in this pool (GB) Long
<pool_name> The native name of the pool. This name is what the hosting storage system uses to identify the pool. String
<pool_service_type> The ViPR storage resource type that can be provisioned in this pool String Valid Values:
  •  block = Volume
  •  file = File System
  •  object = Object Store
<long_term_retention> The Long term retention policy is available on this pool Boolean Valid Values:
  •  block = Volume
  •  file = File System
  •  object = Object Store
<protocols> The protocols this pool uses to transport disk commands and responses across its attached networks.
<protocol> String 0-* Elements
</protocols>
<raid_levels> The supported RAID levels for this pool
<raid_level> String 0-* Elements
</raid_levels>
<storage_system>    
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</storage_system>      
<subscribed_gb> The total amount of usable space that is configured in the pool and is associated with resources provisioned in the pool. (GB) Long
<supported_resource_types> The volume types that can be created in this pool. A thin volume allocates a portion of its assigned capacity when it is created and grows as needed. A thick volume allocates all of its assigned capacity when created. String Valid Values:
  •  THICK_ONLY
  •  THIN_ONLY
  •  THIN_AND_THICK
<tier_utilization_percentages>
<tier_utilization_percentage>     0-* Elements
<name> String
<value> String
</tier_utilization_percentage>      
</tier_utilization_percentages>
<usable_gb> The amount of usable space in the pool (GB) Long
<used_gb> The amount of consumed usable space in the pool (GB) Long
<max_pool_utilization_percentage> The user-defined limit for this pool's utilization Integer
<max_thin_pool_subscription_percentage> The maximum percentage of usable space that can be assigned to thin volumes Integer
<thin_volume_preallocation_supported> Determines whether pre-allocation of thin volume is supported on this storage pool Boolean Valid Values:
  •  true
  •  false
<auto_tiering_supported> Determines whether auto-tiering is supported on this storage pool Boolean Valid Values:
  •  true
  •  false
<compatibility_status> Whether or not this storage pool is compatible with ViPR String Valid Values:
  •  COMPATIBLE
  •  INCOMPATIBLE
  •  UNKNOWN
<discovery_status> Whether or not this storage pool is visible in discovery String Valid Values:
  •  VISIBLE
  •  NOTVISIBLE
<assigned_varrays> The virtual arrays to which this resource has been explicitly assigned by a user. String 0-* Elements
<connected_varrays> The virtual arrays that are associated with this resource due to network connectivity. For example, a storage port would be connected to a virtual array if the port is in a network assigned to the virtual array. Similarly, the storage pools on that storage port's storage system would also be connected to the virtual array. String 0-* Elements
<tagged_varrays> The virtual arrays that are associated with this resource for the purpose of searching for resources that are associated with a virtual array. If a resource is explicitly assigned to one or more virtual arrays, those virtual arrays are the tagged virtual arrays. If there are no explicit assignments for the resource, all of the connected virtual arrays are the tagged virtual arrays. String 0-* Elements
<native_guid> The native unique identifier for this resource

Network Transport Types:

  • FC = Fibre-Channel

Network System Types:

  • BROCADE
  • MDS

Storage System Types:

  • CELERRA = VNX File
  • CLARIION = VNX Block
  • ISILON
  • NETAPP
  • SYMMETRIX
String Valid Values:
  •  Network : transport-type+network-system-type+fabric-WWN
  •  NetworkSystem: network-system-type+management-IP-address+management-port
  •  StoragePool : storage-system-type+storage-system-serial-number+POOL+pool-native-id
  •  StoragePort : storage-system-type+storage-system-serial-number+PORT+port-network-id
  •  StorageSystem: storage-system-type+serial-number
  •  StorageTier, Auto-Tiering: storage-system-type+storage-system-serial-number+FASTPOLICY+policy-name
  •  StorageTier, VMAX: storage-system-type+storage-system-serial-number+TIER+tier-name
  •  StorageTier, VNX: storage-system-type+storage-system-serial-number+TIER+pool-name+tier-name
<name> The name assigned to this resource in ViPR. The resource name is set by a user and can be changed at any time. It is not a unique identifier. String
<id> An identifier that is generated by ViPR when the resource is created. The resource ID is guaranteed to be unique and immutable across all virtual data centers for all time. URI Valid Values:
  •  urn:storageos:resource-type:UUID:
<link> A hyperlink to the details for this resource
<creation_time> A timestamp that shows when this resource was created in ViPR DateTime Valid Values:
  •  YYYY-MM-DDTHH:mm:ssZ
<tags> Keywords and labels that can be added by a user to a resource to make it easy to find when doing a search.
<tag> String 0-* Elements
</tags>
<inactive> Whether or not the resource is inactive. When a user removes a resource, the resource is put in this state before it is removed from the ViPR database. Boolean Valid Values:
  •  true
  •  false
<global> Boolean
<remote> Boolean
<vdc>    
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</vdc>      
<internal> Whether or not the resource is an internal resource. Boolean Valid Values:
  •  true
  •  false
</storage_pool>
Notes: