Retrieve an NVMe namespace
GET /storage/namespaces/{uuid}
Introduced In: 9.6
Retrieves an NVMe namespace.
Expensive properties
There is an added computational cost to retrieving values for these properties. They are not included by default in GET results and must be explicitly requested using the fields
query parameter. See Requesting specific fields to learn more.
-
auto_delete
-
subsystem_map.*
-
status.mapped
-
statistics.*
-
metric.*
Related ONTAP commands
-
vserver nvme namespace show
-
vserver nvme subsystem map show
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
The unique identifier of the NVMe namespace to retrieve. |
fields |
array[string] |
query |
False |
Specify the fields to return. |
Response
Status: 200, Ok
Name | Type | Description |
---|---|---|
_links |
||
auto_delete |
boolean |
This property marks the NVMe namespace for auto deletion when the volume containing the namespace runs out of space. This is most commonly set on namespace clones. When set to true, the NVMe namespace becomes eligible for automatic deletion when the volume runs out of space. Auto deletion only occurs when the volume containing the namespace is also configured for auto deletion and free space in the volume decreases below a particular threshold. This property is optional in POST and PATCH. The default value for a new NVMe namespace is false. There is an added computational cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the |
clone |
This sub-object is used in POST to create a new NVMe namespace as a clone of an existing namespace, or PATCH to overwrite an existing namespace as a clone of another. Setting a property in this sub-object indicates that a namespace clone is desired. When used in a PATCH, the patched NVMe namespace's data is over-written as a clone of the source and the following properties are preserved from the patched namespace unless otherwise specified as part of the PATCH: |
|
comment |
string |
A configurable comment available for use by the administrator. Valid in POST and PATCH. |
consistency_group |
The NVMe namespace's consistency group. This property is populated for NVMe namespaces that are members of a consistency group. If the NVMe namespace is a member of a child consistency group, the parent consistency group is reported. Platform Specifics
|
|
convert |
This sub-object is used in POST to convert a valid in-place LUN to an NVMe namespace. Setting a property in this sub-object indicates that a conversion from the specified LUN to NVMe namespace is desired. |
|
create_time |
string |
The time the NVMe namespace was created. |
enabled |
boolean |
The enabled state of the NVMe namespace. Certain error conditions cause the namespace to become disabled. If the namespace is disabled, you can check the |
encryption |
Encryption related properties for the NVMe namespace. Platform Specifics
|
|
location |
The location of the NVMe namespace within the ONTAP cluster. Valid in POST. NVMe namespaces do not support rename, or movement between volumes.
|
|
metric |
Performance numbers, such as IOPS latency and throughput |
|
name |
string |
The fully qualified path name of the NVMe namespace composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the namespace. Valid in POST. NVMe namespaces do not support rename, or movement between volumes. |
os_type |
string |
The operating system type of the NVMe namespace. Required in POST when creating an NVMe namespace that is not a clone of another. Disallowed in POST when creating a namespace clone. |
qos_policy |
The QoS policy for the NVMe namspace. Both traditional and adaptive QoS policies are supported. If both property Platform Specifics
|
|
space |
The storage space related properties of the NVMe namespace. |
|
statistics |
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
status |
Status information about the NVMe namespace. |
|
subsystem_map |
The NVMe subsystem with which the NVMe namespace is associated. A namespace can be mapped to zero (0) or one (1) subsystems. There is an added computational cost to retrieving property values for |
|
svm |
SVM, applies only to SVM-scoped objects. |
|
uuid |
string |
The unique identifier of the NVMe namespace. |
Example response
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"clone": {
"source": {
"name": "/vol/volume1/namespace1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"comment": "string",
"consistency_group": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cg1",
"uuid": "4abc2317-4332-9d37-93a0-20bd29c22df0"
},
"convert": {
"lun": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"create_time": "2018-06-04 15:00:00 -0400",
"encryption": {
"action": "string",
"key_create_time": "2022-01-01 14:00:00 -0500",
"key_id": "string",
"key_manager_attribute": "CRN=v1:bluemix:public:containers-kubernetes:us-south:a/asdfghjkl1234:asdfghjkl1234:worker:kubernetes-asdfghjkl-worker1",
"state": "string",
"status": {
"code": "string",
"message": "string"
},
"type": "string"
},
"location": {
"namespace": "namespace1",
"node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"qtree": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"id": 1,
"name": "qt1"
},
"volume": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
},
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"iops": {
"read": 200,
"total": 1000,
"write": 100
},
"latency": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500"
},
"name": "/vol/volume1/qtree1/namespace1",
"os_type": "string",
"qos_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "qos1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"block_size": 512,
"size": 1073741824,
"used": 0
},
"statistics": {
"iops_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"latency_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500"
},
"status": {
"container_state": "string",
"state": "online"
},
"subsystem_map": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anagrpid": "00103050h",
"nsid": "00000001h",
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
72090006 |
The specified namespace was not found. |
72090007 |
The specified namespace was not found. |
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 |
source
The source NVMe namespace for a namespace clone operation. This can be specified using property clone.source.uuid
or clone.source.name
. If both properties are supplied, they must refer to the same namespace.
Valid in POST to create a new NVMe namespace as a clone of the source.
Valid in PATCH to overwrite an existing NVMe namespace's data as a clone of another.
Name | Type | Description |
---|---|---|
name |
string |
The fully qualified path name of the clone source NVMe namespace composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the namespace. Valid in POST and PATCH. |
uuid |
string |
The unique identifier of the clone source NVMe namespace. Valid in POST and PATCH. |
clone
This sub-object is used in POST to create a new NVMe namespace as a clone of an existing namespace, or PATCH to overwrite an existing namespace as a clone of another. Setting a property in this sub-object indicates that a namespace clone is desired.
When used in a PATCH, the patched NVMe namespace's data is over-written as a clone of the source and the following properties are preserved from the patched namespace unless otherwise specified as part of the PATCH: auto_delete
(unless specified in the request), subsystem_map
, status.state
, and uuid
.
Name | Type | Description |
---|---|---|
source |
The source NVMe namespace for a namespace clone operation. This can be specified using property Valid in POST to create a new NVMe namespace as a clone of the source. Valid in PATCH to overwrite an existing NVMe namespace's data as a clone of another. |
consistency_group
The NVMe namespace's consistency group. This property is populated for NVMe namespaces that are members of a consistency group. If the NVMe namespace is a member of a child consistency group, the parent consistency group is reported.
=== Platform Specifics
-
Unified ONTAP: An NVMe namespace's consistency group is the consistency group of its containing volume.
-
ASA.Next: An NVMe namespace is optionally associated directly with a consistency group.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the consistency group. |
uuid |
string |
The unique identifier of the consistency group. |
lun
The source LUN for convert operation. This can be specified using property convert.lun.uuid
or convert.lun.name
. If both properties are supplied, they must refer to the same LUN.
Valid in POST. A convert request from LUN to NVMe namespace cannot be combined with setting any other namespace properties. All other properties of the converted NVMe namespace come from the source LUN.
Name | Type | Description |
---|---|---|
name |
string |
The fully qualified path name of the source LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the LUN. Valid in POST. |
uuid |
string |
The unique identifier of the source LUN. Valid in POST. |
convert
This sub-object is used in POST to convert a valid in-place LUN to an NVMe namespace. Setting a property in this sub-object indicates that a conversion from the specified LUN to NVMe namespace is desired.
Name | Type | Description |
---|---|---|
lun |
The source LUN for convert operation. This can be specified using property Valid in POST. A convert request from LUN to NVMe namespace cannot be combined with setting any other namespace properties. All other properties of the converted NVMe namespace come from the source LUN. |
status
Name | Type | Description |
---|---|---|
code |
string |
Encryption progress message code. |
message |
string |
Encryption progress message. |
encryption
Encryption related properties for the NVMe namespace.
=== Platform Specifics
-
Unified ONTAP: These properties are not available on the NVMe namespace object in the REST API and are not reported for GET requests. See the containing volume object for this information.
-
ASA.Next: Available for GET, POST and PATCH.
Name | Type | Description |
---|---|---|
action |
string |
This property can be used to pause an ongoing rekey or conversion operation or resume a paused rekey or conversion operation. Valid in PATCH. The following actions are supported for this field:
|
enabled |
boolean |
Creates an encrypted or an unencrypted NVMe namespace. For POST, when set to |
key_create_time |
string |
Encryption key creation time of the NVMe namespace. |
key_id |
string |
The key ID used for creating encrypted NVMe namespace. A new key-id is generated for creating an encrypted NVMe namespace. This key-id is associated with the generated key. |
key_manager_attribute |
string |
Specifies an additional key manager attribute that is an identifier-value pair, separated by |
rekey |
boolean |
If set to |
state |
string |
NVMe namespace encryption state.
|
status |
||
type |
string |
NVMe namespace encryption type.
|
node
The cluster node that hosts the NVMe namespace.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
qtree
The qtree in which the NVMe namespace is optionally located. Valid in POST.
If properties name
and location.qtree.name
and/or location.qtree.uuid
are specified in the same request, they must refer to the same qtree.
NVMe namespaces do not support rename.
Name | Type | Description |
---|---|---|
_links |
||
id |
integer |
The identifier for the qtree, unique within the qtree's volume. |
name |
string |
The name of the qtree. |
volume
The volume in which the NVMe namespace is located. Valid in POST.
If properties name
and location.volume.name
and/or location.volume.uuid
are specified in the same request, they must refer to the same volume.
NVMe namespaces do not support movement between volumes.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. This field cannot be specified in a POST or PATCH method. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
location
The location of the NVMe namespace within the ONTAP cluster. Valid in POST.
NVMe namespaces do not support rename, or movement between volumes.
Name | Type | Description |
---|---|---|
namespace |
string |
The base name component of the NVMe namespace. Valid in POST. If properties NVMe namespaces do not support rename. |
node |
The cluster node that hosts the NVMe namespace. |
|
qtree |
The qtree in which the NVMe namespace is optionally located. Valid in POST. If properties NVMe namespaces do not support rename. |
|
volume |
The volume in which the NVMe namespace is located. Valid in POST. If properties NVMe namespaces do not support movement between volumes. |
iops
The rate of I/O operations observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency
The round trip latency in microseconds observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput
The rate of throughput bytes per second observed at the storage object.
Name | Type | Description |
---|---|---|
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
metric
Performance numbers, such as IOPS latency and throughput
Name | Type | Description |
---|---|---|
_links |
||
duration |
string |
The duration over which this sample is calculated. The time durations are represented in the ISO-8601 standard format. Samples can be calculated over the following durations: |
iops |
The rate of I/O operations observed at the storage object. |
|
latency |
The round trip latency in microseconds observed at the storage object. |
|
status |
string |
Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput |
The rate of throughput bytes per second observed at the storage object. |
|
timestamp |
string |
The timestamp of the performance data. |
qos_policy
The QoS policy for the NVMe namspace. Both traditional and adaptive QoS policies are supported. If both property qos_policy.uuid
and qos_policy.name
are specified in the same request, they must refer to the same QoS policy. To remove the QoS policy from an NVMe namspace, leaving it with no QoS policy, set property qos_policy.name
to an empty string ("") in a PATCH request. Valid in POST and PATCH.
=== Platform Specifics
-
Unified ONTAP: These properties are not available on the NVMe namespace object in the REST API and are not reported for GET requests. You can set a QoS policy on the containing volume.
-
ASA.Next: An NVMe namespace is optionally associated directly with a QoS policy.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set this property to an empty string ("") in a PATCH request. Valid in POST and PATCH. |
uuid |
string |
The unique identifier of the QoS policy. Valid in POST and PATCH. |
guarantee
Properties that request and report the space guarantee for the NVMe namespace.
Name | Type | Description |
---|---|---|
requested |
boolean |
The requested space reservation policy for the NVMe namespace. If true, a space reservation is requested for the namespace; if false, the namespace is thin provisioned. Guaranteeing a space reservation request for a namespace requires that the volume in which the namespace resides also be space reserved and that the fractional reserve for the volume be 100%. The space reservation policy for an NVMe namespace is determined by ONTAP.
|
reserved |
boolean |
Reports if the NVMe namespace is space guaranteed. This property is true if a space guarantee is requested and the containing volume and aggregate support the request. This property is false if a space guarantee is not requested or if a space guarantee is requested and either the containing volume and aggregate do not support the request. |
space
The storage space related properties of the NVMe namespace.
Name | Type | Description |
---|---|---|
block_size |
integer |
The size of blocks in the namespace in bytes. Valid in POST when creating an NVMe namespace that is not a clone of another. Disallowed in POST when creating a namespace clone. Valid in POST. |
guarantee |
Properties that request and report the space guarantee for the NVMe namespace. |
|
size |
integer |
The total provisioned size of the NVMe namespace. Valid in POST and PATCH. The NVMe namespace size can be increased but not be made smaller using the REST interface. The maximum and minimum sizes listed here are the absolute maximum and absolute minimum sizes in bytes. The maximum size is variable with respect to large NVMe namespace support in ONTAP. If large namespaces are supported, the maximum size is 128 TB (140737488355328 bytes) and if not supported, the maximum size is just under 16 TB (17557557870592 bytes). The minimum size supported is always 4096 bytes. For more information, see Size properties in the docs section of the ONTAP REST API documentation.
|
used |
integer |
The amount of space consumed by the main data stream of the NVMe namespace. This value is the total space consumed in the volume by the NVMe namespace, including filesystem overhead, but excluding prefix and suffix streams. Due to internal filesystem overhead and the many ways NVMe filesystems and applications utilize blocks within a namespace, this value does not necessarily reflect actual consumption/availability from the perspective of the filesystem or application. Without specific knowledge of how the namespace blocks are utilized outside of ONTAP, this property should not be used and an indicator for an out-of-space condition. For more information, see Size properties in the docs section of the ONTAP REST API documentation.
|
iops_raw
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency_raw
The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput_raw
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time.
Name | Type | Description |
---|---|---|
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
statistics
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.
Name | Type | Description |
---|---|---|
iops_raw |
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time. |
|
latency_raw |
The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation. |
|
status |
string |
Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput_raw |
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time. |
|
timestamp |
string |
The timestamp of the performance data. |
status
Status information about the NVMe namespace.
Name | Type | Description |
---|---|---|
container_state |
string |
The state of the volume and aggregate that contain the NVMe namespace. Namespaces are only available when their containers are available. |
mapped |
boolean |
Reports if the NVMe namespace is mapped to an NVMe subsystem. There is an added computational cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the |
read_only |
boolean |
Reports if the NVMe namespace allows only read access. |
state |
string |
The state of the NVMe namespace. Normal states for a namespace are online and offline. Other states indicate errors. |
subsystem
The NVMe subsystem to which the NVMe namespace is mapped.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the NVMe subsystem. |
uuid |
string |
The unique identifier of the NVMe subsystem. |
subsystem_map
The NVMe subsystem with which the NVMe namespace is associated. A namespace can be mapped to zero (0) or one (1) subsystems.
There is an added computational cost to retrieving property values for subsystem_map
. 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.
Name | Type | Description |
---|---|---|
_links |
||
anagrpid |
string |
The Asymmetric Namespace Access Group ID (ANAGRPID) of the NVMe namespace. The format for an ANAGRPID is 8 hexadecimal digits (zero-filled) followed by a lower case "h". |
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". |
subsystem |
The NVMe subsystem to which the NVMe namespace is mapped. |
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. |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
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. |