Skip to main content

Create a new storage pool

Contributors

POST /storage/pools

Introduced In: 9.11

Creates a new storage pool using available solid state capacity attached to the nodes specified.

Required properties

The following properties are required in the POST body:

  • name - Name of the new storage pool.

  • nodes[].name or nodes[].uuid - Nodes that can use cache capacity from the new storage pool. Only nodes in the same HA pair can be specified for a given storage pool. Spare cache capacity will be distributed evenly among the specified nodes.

  • capacity.disk_count - Number of SSDs to be used to create the storage pool.

  • storage pool create

Example:

POST /api/storage/pools {"nodes": [{"name": "node1"}, {"name": "node2"}], "name": "storage_pool_1", "capacity": {"disk_count": "4"}}

Parameters

Name Type In Required Description

disk_size

integer

query

False

If set, POST only selects SSDs within five percent of the specified size.

simulate

boolean

query

False

When set to "true", the end point returns a simulated layout of the proposed new storage pool, without changing system state.

  • Introduced in: 9.12

return_timeout

integer

query

False

The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.

  • Default value: 1

  • Max value: 120

  • Min value: 0

return_records

boolean

query

False

The default is false. If set to true, the records are returned.

  • Default value:

Request Body

Name Type Description

_links

_links

capacity

capacity

health

health

Properties that outline shared storage pool health.

name

string

Storage pool name.

nodes

array[node_reference]

Nodes that can use this storage pool for their aggregates.

storage_type

string

Storage type for the disks used to create the storage pool.

uuid

string

Storage pool UUID.

Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "capacity": {
    "disks": [
      {
        "disk": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "1.0.1"
        },
        "total_size": 0,
        "usable_size": 0
      }
    ],
    "remaining": 0,
    "spare_allocation_units": [
      {
        "available_size": 0,
        "node": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "node1",
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        },
        "size": 0,
        "syncmirror_pool": "string"
      }
    ],
    "total": 0,
    "used_allocation_units": [
      {
        "aggregate": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "aggr1",
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        },
        "current_usage": 0,
        "node": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "node1",
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        }
      }
    ]
  },
  "health": {
    "state": "string",
    "unhealthy_reason": {
      "arguments": [
        {
          "code": "string",
          "message": "string"
        }
      ],
      "code": "4",
      "message": "entry doesn't exist"
    }
  },
  "name": "string",
  "nodes": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "node1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  ],
  "storage_type": "string",
  "uuid": "string"
}

Response

Status: 202, Accepted
Name Type Description

job

job_link

Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "string"
  }
}

Headers

Name Description Type

Location

Useful for tracking the resource location

string

Response

Status: 201, Created

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

11206666

Storage pool is unhealthy.

11208658

A storage pool already uses the specified name.

11208660

Disk does not exist.

11208661

Disk is not a spare disk.

11208662

Disk is not an SSD.

11208663

Disk is reserved for core dump.

11208664

Could not determine checksum type of disk.

11208666

Could not determine usable size of disk.

11208668

Could not determine connectivity between controller and disk.

11208670

Could not determine original owner of disk.

11208671

Could not determine SyncMirror pool of disk.

11208673

Could not determine HA mode of node.

11208674

Could not determine HA partner of node.

11208675

Disks specified in the disk list are not visible to node.

11208678

The disk list contains disks from nodes which are not in HA pair.

11208679

Storage pools are not supported on nodes.

11208680

Internal error. Cannot determine configuration for node.

11208681

Node is not online.

11208682

Internal error. Sharing configuration mismatch.

11208684

Unable to share disk.

11208686

Disk cannot be shared.

11208687

Unable to retrieve expected sharing configuration.

11208688

Storage pool create job failed.

11208690

Not all nodes sharing the storage pool view disk as a shared disk.

11208691

Not enough matching spares available.

11208692

A disk list or count is a required parameter for storage pool creation.

11208693

Invalid number of disks specified.

11208698

Internal error. Missing node name.

11208699

Internal error. Missing partner name for node configured for HA.

11208701

Node is a standalone node. Do not specify other nodes with a standalone node.

11208703

Incorrect number of nodes specified. Specify one node or both nodes in an HA pair.

11208704

Specified nodes are not part of HA relationship. Specify one node or both nodes in an HA pair.

11208705

Disk is a data center SSD, which cannot be used in storage pools.

11208706

Disk is a SSD-ZNS, which cannot be used in storage pools.

11215756

Missing a required field for POST request.

Also see the table of common errors in the Response body overview section of this documentation.

Name Type Description

error

returned_error

Example error
{
  "error": {
    "arguments": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "code": "4",
    "message": "entry doesn't exist",
    "target": "uuid"
  }
}

Definitions

See Definitions

href

Name Type Description

href

string

Name Type Description

self

href

disk

Reference to the constituent disk object.

Name Type Description

_links

_links

name

string

storage_pool_disk

Name Type Description

disk

disk

Reference to the constituent disk object.

total_size

integer

Raw capacity of the disk, in bytes.

usable_size

integer

Usable capacity of this disk, in bytes.

node

Specifies what node can use this set of allocation units.

Name Type Description

_links

_links

name

string

uuid

string

storage_pool_spare_allocation_unit

Name Type Description

available_size

integer

The usable capacity of this set of allocation units.

count

integer

The number of spare allocation units on this node.

node

node

Specifies what node can use this set of allocation units.

size

integer

Size of each allocation unit.

syncmirror_pool

string

The RAID SyncMirror Pool to which this allocation unit is assigned.

aggregate

The aggregate that is using this cache capacity.

Name Type Description

_links

_links

name

string

uuid

string

node

The node hosting the aggregate using this set of allocation units.

Name Type Description

_links

_links

name

string

uuid

string

storage_pool_used_allocation_unit

Name Type Description

aggregate

aggregate

The aggregate that is using this cache capacity.

count

integer

The number of allocation units used by this aggregate.

current_usage

integer

The amount of cache space used by this aggregate.

node

node

The node hosting the aggregate using this set of allocation units.

capacity

Name Type Description

disk_count

integer

The number of disks in the storage pool.

disks

array[storage_pool_disk]

Properties of each disk used in the shared storage pool.

remaining

integer

Remaining usable capacity in the flash pool, in bytes.

spare_allocation_units

array[storage_pool_spare_allocation_unit]

Properties of spare allocation units.

total

integer

Total size of the flash pool, in bytes.

used_allocation_units

array[storage_pool_used_allocation_unit]

Information about the storage pool allocation units participating in the cache tier of an aggregate.

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

error

Indicates why the storage pool is unhealthy. This property is not returned for healthy storage pools.

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

health

Properties that outline shared storage pool health.

Name Type Description

is_healthy

boolean

Indicates whether the storage pool is able to participate in provisioning operations.

state

string

The state of the shared storage pool.

unhealthy_reason

error

Indicates why the storage pool is unhealthy. This property is not returned for healthy storage pools.

node_reference

Name Type Description

_links

_links

name

string

uuid

string

storage_pool

Name Type Description

_links

_links

capacity

capacity

health

health

Properties that outline shared storage pool health.

name

string

Storage pool name.

nodes

array[node_reference]

Nodes that can use this storage pool for their aggregates.

storage_type

string

Storage type for the disks used to create the storage pool.

uuid

string

Storage pool UUID.

Name Type Description

_links

_links

uuid

string

The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation.

returned_error

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

target

string

The target parameter that caused the error.