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. 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 cost to retrieving property values for |
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. |
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": [
{
"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",
"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": [
{
"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",
"vendor_uuids": [
"1447f0f4-42e5-0dfc-871a-dc9b3f92d8f8"
]
}
]
}
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. |
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. |
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 |
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 |
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 |
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
Name | Type | Description |
---|---|---|
_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 |
||
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 |
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 |
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. |
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.
|
_links
Name | Type | Description |
---|---|---|
next |
||
self |
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. |