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

Add NVMe subsystem hosts

Contributors

POST /protocols/nvme/subsystems/{subsystem.uuid}/hosts

Introduced In: 9.6

Adds NVMe subsystem host(s) to an NVMe subsystem.

Required properties

  • nqn or records.nqn - NVMe host(s) NQN(s) to add to the NVMe subsystem.

  • vserver nvme subsystem host add

Parameters

Name Type In Required Description

subsystem.uuid

string

path

True

The unique identifier of the NVMe subsystem.

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

dh_hmac_chap

dh_hmac_chap

A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol.

io_queue

io_queue

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

nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the records property is used.

records

array[records]

An array of NVMe hosts specified to add multiple NVMe hosts to an NVMe subsystem in a single API call. Valid in POST only.

subsystem

subsystem

The NVMe subsystem to which the NVMe host has been provisioned.

Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "dh_hmac_chap": {
    "controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
    "group_size": "none",
    "hash_function": "sha_256",
    "host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
    "mode": "bidirectional"
  },
  "io_queue": {
    "count": 4,
    "depth": 32
  },
  "nqn": "nqn.1992-01.example.com:string",
  "records": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "dh_hmac_chap": {
      "controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
      "group_size": "none",
      "hash_function": "sha_256",
      "host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
      "mode": "bidirectional"
    },
    "io_queue": {
      "count": 4,
      "depth": 32
    },
    "nqn": "nqn.1992-01.example.com:string",
    "subsystem": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "subsystem1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  },
  "subsystem": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "subsystem1",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  }
}

Response

Status: 201, Created
Name Type Description

_links

_links

num_records

integer

The number of records in the response.

records

array[nvme_subsystem_host]

Example response
{
  "_links": {
    "next": {
      "href": "/api/resourcelink"
    },
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "num_records": 1,
  "records": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "dh_hmac_chap": {
      "controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
      "group_size": "none",
      "hash_function": "sha_256",
      "host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
      "mode": "bidirectional"
    },
    "io_queue": {
      "count": 4,
      "depth": 32
    },
    "nqn": "nqn.1992-01.example.com:string",
    "records": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "dh_hmac_chap": {
        "controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
        "group_size": "none",
        "hash_function": "sha_256",
        "host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
        "mode": "bidirectional"
      },
      "io_queue": {
        "count": 4,
        "depth": 32
      },
      "nqn": "nqn.1992-01.example.com:string",
      "subsystem": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "subsystem1",
        "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
      }
    },
    "subsystem": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "subsystem1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  }
}

Headers

Name Description Type

Location

Useful for tracking the resource location

string

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

262186

The "records" array and other host properties are mutually exclusive.

72089705

The NVMe subsystem host already exists for the NVMe subsystem.

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.

72090001

The NVMe subsystem does not exist.

72090003

A host to be added to an NVMe subsystem is missing the "nqn" property.

72090041

An element in the "records" array contains an invalid property.

72090042

The dh_hmac_chap.host_secret_key property is required when setting any other NVMe in-band authentication properties for a host.

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

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 host_secret_key must also be supplied. Optional in POST.

This property is write-only. The mode property can be used to identify if a controller secret has been set for the host, but the controller secret value cannot be read. To change the value, the host must be deleted from the subsystem and re-added.

group_size

string

The Diffie-Hellman group size for NVMe in-band authentication. When property host_secret_key is provided, this property defaults to 2048_bit. When supplied, the property host_secret_key must also be supplied. Optional in POST.

hash_function

string

The hash function for NVMe in-band authentication. When property host_secret_key is provided, this property defaults to sha_256. When supplied, the property host_secret_key must also be supplied. Optional in POST.

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 property can be used to identify if a host secret has been set for the host, but the host secret value cannot be read. To change the value, the host must be deleted from the subsystem and re-added.

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:

  • none: The host has neither the host nor controller secret configured, and no authentication is performed.

  • unidirectional: The host has a host secret configured. The controller will authenticate the host.

  • bidirectional: The host has both a host and controller secret configured. The controller will authenticate the host and the host will authenticate the controller.

io_queue

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

Name Type Description

count

integer

The number of I/O queue pairs. The default value is inherited from the owning NVMe subsystem.

depth

integer

The I/O queue depth. The default value is inherited from the owning NVMe subsystem.

subsystem

The NVMe subsystem to which the NVMe host has been provisioned.

Name Type Description

_links

_links

name

string

The name of the NVMe subsystem.

uuid

string

The unique identifier of the NVMe subsystem.

records

The NVMe host provisioned to access NVMe namespaces mapped to a subsystem.

Name Type Description

_links

_links

dh_hmac_chap

dh_hmac_chap

A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol.

io_queue

io_queue

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

nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the records property is used.

subsystem

subsystem

The NVMe subsystem to which the NVMe host has been provisioned.

nvme_subsystem_host

The NVMe host provisioned to access NVMe namespaces mapped to a subsystem.

Name Type Description

_links

_links

dh_hmac_chap

dh_hmac_chap

A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol.

io_queue

io_queue

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

nqn

string

The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the records property is used.

records

array[records]

An array of NVMe hosts specified to add multiple NVMe hosts to an NVMe subsystem in a single API call. Valid in POST only.

subsystem

subsystem

The NVMe subsystem to which the NVMe host has been provisioned.

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.