Create an NVMe subsystem
POST /protocols/nvme/subsystems
Introduced In: 9.6
Creates an NVMe subsystem.
Required properties
-
svm.uuid
orsvm.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.
Related ONTAP commands
-
vserver nvme subsystem create
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
_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. Optional in POST and PATCH. 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 |
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 computational cost to retrieving property values for |
svm |
SVM, applies only to SVM-scoped objects. |
|
target_nqn |
string |
The NVMe qualified name (NQN) used to identify the NVMe storage target. |
uuid |
string |
The unique identifier of the NVMe subsystem. |
vendor_uuids |
array[string] |
Vendor-specific identifiers (UUIDs) optionally assigned to an NVMe subsystem when the subsystem is created. The identifiers are used to enable vendor-specific NVMe protocol features. The identifiers are provided by a host application vendor and shared with NetApp prior to a joint product release. Creating an NVMe subsystem with an unknown or non-specific identifier will have no effect on the NVMe subsystem. Refer to the ONTAP SAN Administration Guide for a list of the supported vendor-specific identifiers. After a subsystem is created, the vendor-specific identifiers cannot be changed or removed. Optional in POST.
|
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"comment": "string",
"hosts": [
{
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"nqn": "nqn.1992-01.example.com:string",
"priority": "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",
"vendor_uuids": [
"1447f0f4-42e5-0dfc-871a-dc9b3f92d8f8"
]
}
Response
Status: 201, Created
Name | Type | Description |
---|---|---|
_links |
||
num_records |
integer |
The number of records in the response. |
records |
array[nvme_subsystem] |
Example response
{
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"num_records": 1,
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"comment": "string",
"hosts": [
{
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"nqn": "nqn.1992-01.example.com:string",
"priority": "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",
"vendor_uuids": [
"1447f0f4-42e5-0dfc-871a-dc9b3f92d8f8"
]
}
]
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
2621462 |
The supplied SVM does not exist. |
2621706 |
The specified |
2621707 |
The svm.uuid or svm.name must be provided. |
72089635 |
Setting vendor-specific UUIDs on NVMe subsystems is not supported until the effective cluster version is 9.9 or later. |
72089636 |
Creating NVMe subsystems with |
72089709 |
The NVMe subsystem name contains an invalid character. |
72089711 |
An invalid vendor-specific UUID was specified. |
72089712 |
A duplicate vendor-specific UUID was specific. |
72089713 |
Too many vendor UUIDs were supplied. |
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. |
72090003 |
A host to be added to an NVMe subsystem is missing the "nqn" property. |
72090025 |
The NVMe subsystem already exists for the SVM. |
72090029 |
The NVMe service does not exist. |
72090030 |
A partial success occurred while adding multiple NVMe subsystem hosts to an NVMe subsystem. |
72090036 |
An NVMe subsystem host NQN was duplicated in the input. |
72090042 |
The |
Also see the table of common errors in the Response body overview section of this documentation.
Name | Type | Description |
---|---|---|
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 |
_links
Name | Type | Description |
---|---|---|
self |
dh_hmac_chap
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol.
Name | Type | Description |
---|---|---|
controller_secret_key |
string |
The controller secret for NVMe in-band authentication. The value of this property is used by the NVMe host to authenticate the NVMe controller while establishing a connection. If unset, the controller is not authenticated. When supplied, the property This property is write-only. The |
group_size |
string |
The Diffie-Hellman group size for NVMe in-band authentication. When property |
hash_function |
string |
The hash function for NVMe in-band authentication. When property |
host_secret_key |
string |
The host secret for NVMe in-band authentication. The value of this property is used by the NVMe controller to authenticate the NVMe host while establishing a connection. If unset, no authentication is performed by the host or controller. This property must be supplied if any other NVMe in-band authentication properties are supplied. Optional in POST. This property is write-only. The |
mode |
string |
The expected NVMe in-band authentication mode for the host. This property is an indication of which secrets are configured for the host. When set to:
|
hosts
Name | Type | Description |
---|---|---|
dh_hmac_chap |
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol. |
|
nqn |
string |
The NVMe qualified name (NQN) used to identify the NVMe storage target. |
priority |
string |
The host priority setting allocates appropriate NVMe I/O queues (count and depth) for the host to submit I/O commands. Absence of this property in GET implies user configured values of I/O queue count and I/O queue depth are being used. |
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 |
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 |
||
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 |
||
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 |
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
SVM, applies only to SVM-scoped objects.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. This field cannot be specified in a PATCH method. |
uuid |
string |
The unique identifier of the SVM. This field cannot be specified in a PATCH method. |
nvme_subsystem
An NVMe subsystem maintains configuration state and namespace access control for a set of NVMe-connected hosts.