Skip to main content
A newer release of this product is available.

Create an NVMe subsystem

Contributors

POST /protocols/nvme/subsystems

Introduced In: 9.6

Creates an NVMe subsystem.

Required properties

  • svm.uuid or svm.name - Existing SVM in which to create the NVMe subsystem.

  • name - Name for NVMe subsystem. Once created, an NVMe subsytem cannot be renamed.

  • os_type - Operating system of the NVMe subsystem's hosts.

  • vserver nvme subsystem create

Parameters

Name Type In Required Description

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

comment

string

A configurable comment for the NVMe subsystem. Optional in POST and PATCH.

delete_on_unmap

boolean

An option that causes the subsystem to be deleted when the last subsystem map associated with it is deleted. This property defaults to false when the subsystem is created.

hosts

array[hosts]

The NVMe hosts configured for access to the NVMe subsystem. Optional in POST.

io_queue

io_queue

The properties of the submission queue used to submit I/O commands for execution by the NVMe controller.

name

string

The name of the NVMe subsystem. Once created, an NVMe subsystem cannot be renamed. Required in POST.

os_type

string

The host operating system of the NVMe subsystem's hosts. Required in POST.

serial_number

string

The serial number of the NVMe subsystem.

subsystem_maps

array[subsystem_maps]

The NVMe namespaces mapped to the NVMe subsystem.

There is an added cost to retrieving property values for subsystem_maps. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

svm

svm

target_nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target.

uuid

string

The unique identifier of the NVMe subsystem.

Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "comment": "string",
  "hosts": [
    {
      "nqn": "nqn.1992-01.example.com:string"
    }
  ],
  "io_queue": {
    "default": {
      "count": "4",
      "depth": "16"
    }
  },
  "name": "subsystem1",
  "os_type": "string",
  "serial_number": "wCVsgFMiuMhVAAAAAAAB",
  "subsystem_maps": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "anagrpid": "00103050h",
      "namespace": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "/vol/vol1/namespace1",
        "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
      },
      "nsid": "00000001h"
    }
  ],
  "svm": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "svm1",
    "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
  },
  "target_nqn": "nqn.1992-01.example.com:string",
  "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}

Response

Status: 201, Created
Name Type Description

_links

_links

num_records

integer

Number of records.

records

array[nvme_subsystem]

Example response
{
  "_links": {
    "next": {
      "href": "/api/resourcelink"
    },
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "records": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "comment": "string",
      "hosts": [
        {
          "nqn": "nqn.1992-01.example.com:string"
        }
      ],
      "io_queue": {
        "default": {
          "count": "4",
          "depth": "16"
        }
      },
      "name": "subsystem1",
      "os_type": "string",
      "serial_number": "wCVsgFMiuMhVAAAAAAAB",
      "subsystem_maps": [
        {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "anagrpid": "00103050h",
          "namespace": {
            "_links": {
              "self": {
                "href": "/api/resourcelink"
              }
            },
            "name": "/vol/vol1/namespace1",
            "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
          },
          "nsid": "00000001h"
        }
      ],
      "svm": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "svm1",
        "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
      },
      "target_nqn": "nqn.1992-01.example.com:string",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  ]
}

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

2621462

The supplied SVM does not exist.

2621706

The specified svm.uuid and svm.name do not refer to the same SVM.

2621707

The svm.uuid or svm.name must be provided.

72089709

The NVMe subsystem name contains an invalid character.

72089771

The NQN is invalid. A non-empty qualifier is required after the prefix. An example of a valid NQN is nqn.1992-01.com.example:string.

72089772

The NQN is invalid. Add the prefix 'nqn'. An example of a valid NQN is nqn.1992-01.com.example:string.

72089773

The NQN is invalid. The date field must be formatted yyyy-mm. An example of a valid NQN is nqn.1992-01.com.example:string.

72090025

The NVMe subsystem already exists for the SVM.

72090029

The NVMe service does not exist.

72090030

A partial success occured while adding multiple NVMe subsystem hosts to an NVMe subsystem.

72090035

Passing NVMe subsystem host NQNs on NVMe subsystem POST requires an effective cluster version of 9.7 or later.

72090036

The hosts.nqn NVMe subsystem property must contain unique values.

Name Type Description

error

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

hosts

Name Type Description

nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target.

default

The default I/O queue parameters inherited by NVMe hosts in the NVMe subsystem.

Name Type Description

count

integer

The number of host I/O queue pairs.

depth

integer

The host I/O queue depth.

io_queue

The properties of the submission queue used to submit I/O commands for execution by the NVMe controller.

Name Type Description

default

default

The default I/O queue parameters inherited by NVMe hosts in the NVMe subsystem.

namespace

An NVMe namespace mapped to the NVMe subsystem.

Name Type Description

_links

_links

name

string

The name of the NVMe namespace.

uuid

string

The unique identifier of the NVMe namespace.

subsystem_maps

An NVMe namespace mapped to the NVMe subsystem.

Name Type Description

_links

_links

anagrpid

string

The Asymmetric Namespace Access Group ID (ANAGRPID) of the NVMe namespace.

The format for an ANAGRPIP is 8 hexadecimal digits (zero-filled) followed by a lower case "h".

namespace

namespace

An NVMe namespace mapped to the NVMe subsystem.

nsid

string

The NVMe namespace identifier. This is an identifier used by an NVMe controller to provide access to the NVMe namespace.

The format for an NVMe namespace identifier is 8 hexadecimal digits (zero-filled) followed by a lower case "h".

svm

Name Type Description

_links

_links

name

string

The name of the SVM.

uuid

string

The unique identifier of the SVM.

nvme_subsystem

An NVMe subsystem maintains configuration state and namespace access control for a set of NVMe-connected hosts.

Name Type Description

_links

_links

comment

string

A configurable comment for the NVMe subsystem. Optional in POST and PATCH.

delete_on_unmap

boolean

An option that causes the subsystem to be deleted when the last subsystem map associated with it is deleted. This property defaults to false when the subsystem is created.

hosts

array[hosts]

The NVMe hosts configured for access to the NVMe subsystem. Optional in POST.

io_queue

io_queue

The properties of the submission queue used to submit I/O commands for execution by the NVMe controller.

name

string

The name of the NVMe subsystem. Once created, an NVMe subsystem cannot be renamed. Required in POST.

os_type

string

The host operating system of the NVMe subsystem's hosts. Required in POST.

serial_number

string

The serial number of the NVMe subsystem.

subsystem_maps

array[subsystem_maps]

The NVMe namespaces mapped to the NVMe subsystem.

There is an added cost to retrieving property values for subsystem_maps. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

svm

svm

target_nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target.

uuid

string

The unique identifier of the NVMe subsystem.

Name Type Description

next

href

self

href

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

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.