Create a cluster
POST /cluster
Sets up a cluster.
Required properties
-
name
-
password
Recommended optional properties
-
location
-
contact
-
dns_domains
-
name_servers
-
ntp_servers
-
license
-
configuration_backup
-
management_interface
-
nodes
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
single_node_cluster |
boolean |
query |
False |
Configures a single node cluster. All cluster ports are reassigned to the default network. The storage failover settings are configured to non-HA. The node reboots during this operation. |
Request Body
Name | Type | Description |
---|---|---|
_links |
||
configuration_backup |
||
contact |
string |
|
dns_domains |
array[string] |
A list of DNS domains. Domain names have the following requirements:
|
license |
License keys or NLF contents. |
|
location |
string |
|
management_interface |
The management interface of the cluster. The netmask and gateway for this interface are used for the node management interfaces provided in the node configuration. |
|
management_interfaces |
array[management_interfaces] |
|
metric |
Performance numbers, such as IOPS latency and throughput. |
|
name |
string |
|
name_servers |
array[string] |
The list of IP addresses of the DNS servers. Addresses can be either IPv4 or IPv6 addresses. |
nodes |
array[nodes] |
|
ntp_servers |
array[string] |
Host name, IPv4 address, or IPv6 address for the external NTP time servers. |
password |
string |
Initial admin password used to create the cluster. |
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. |
|
uuid |
string |
|
version |
This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"configuration_backup": {
"password": "yourpassword",
"url": "http://10.224.65.198/backups",
"username": "me"
},
"contact": "support@company.com",
"dns_domains": [
"example.com",
"example2.example3.com"
],
"license": {
"keys": [
"AMEPOSOIKLKGEEEEDGNDEKSJDE"
]
},
"location": "building 1",
"management_interface": {
"ip": {
"address": "10.10.10.7",
"gateway": "10.1.1.1",
"netmask": "24"
}
},
"management_interfaces": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ip": {
"address": "10.10.10.7"
},
"name": "lif1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"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 11:20:13 UTC"
},
"name": "cluster1",
"name_servers": [
"10.224.65.20",
"2001:db08:a0b:12f0::1"
],
"nodes": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"cluster_interface": {
"ip": {
"address": "10.10.10.7"
}
},
"cluster_interfaces": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ip": {
"address": "10.10.10.7"
},
"name": "lif1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"controller": {
"flash_cache": [
{
"capacity": 1024000000000,
"firmware_version": "NA05",
"hardware_revision": "A1",
"model": "X1970A",
"part_number": "119-00207",
"serial_number": "A22P5061550000187",
"slot": "6-1",
"state": "string"
}
],
"frus": [
{
"id": 0,
"state": "string",
"type": "string"
}
],
"over_temperature": "string"
},
"date": "2017-01-25 11:20:13 +0400",
"ha": {
"partners": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
]
},
"location": "rack 2 row 5",
"management_interface": {
"ip": {
"address": "10.10.10.7"
}
},
"management_interfaces": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ip": {
"address": "10.10.10.7"
},
"name": "lif1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"membership": "string",
"model": "FAS3070",
"name": "node-01",
"serial_number": "4048820-60-9",
"service_processor": {
"firmware_version": "string",
"ipv4_interface": {
"address": "10.10.10.7",
"gateway": "10.1.1.1",
"netmask": "24"
},
"ipv6_interface": {
"address": "10.10.10.7",
"gateway": "10.1.1.1",
"netmask": "24"
},
"link_status": "string",
"mac_address": "string",
"state": "string"
},
"uptime": 300536,
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412",
"version": {
"full": "NetApp Release 9.4.0: Sun Nov 05 18:20:57 UTC 2017",
"generation": 9,
"major": 4,
"minor": 0
}
}
],
"ntp_servers": [
"time.nist.gov",
"10.98.19.20",
"2610:20:6F15:15::27"
],
"password": "mypassword",
"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 11:20:13 UTC"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412",
"version": {
"full": "NetApp Release 9.4.0: Sun Nov 05 18:20:57 UTC 2017",
"generation": 9,
"major": 4,
"minor": 0
}
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
131727360 |
A node could not be added to the cluster. This is a generic code, see response message for details. |
8978433 |
An invalid license key was provided. |
8847362 |
Too many name servers provided. |
8847361 |
Too many DNS domains provided. |
9240587 |
A name must be provided. |
39387137 |
The URL provided is invalid. |
131727389 |
URL and username are required for configuration backup. |
262245 |
The value provided is invalid. |
1179817 |
The IP address, netmask, and gateway must all be provided for cluster manangement interface. |
1179813 |
Fields set for one node must be set for all nodes. |
1179818 |
The IP address and gateway must be of the same family. |
1179821 |
An IP address and netmask conflicts with an existing entry. |
131727388 |
Hostnames for NTP servers cannot be used without DNS configured. |
2097165 |
An NTP server could not be reached. |
1179825 |
All management and cluster config IP addresses must belong to the same address family. |
8847394 |
An invalid DNS domain was provided. |
9240594 |
An invalid name was provided. |
1179824 |
An invalid gateway was provided. |
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 |
configuration_backup
Name | Type | Description |
---|---|---|
password |
string |
|
url |
string |
An external backup location for the cluster configuration. This is mostly required for single node clusters where node and cluster configuration backups cannot be copied to other nodes in the cluster. |
username |
string |
license
License keys or NLF contents.
Name | Type | Description |
---|---|---|
keys |
array[string] |
ip
Object to setup an interface along with its default router.
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
gateway |
string |
The IPv4 or IPv6 address of the default router. |
netmask |
string |
Input as netmask length (16) or IPv4 mask (255.255.0.0). For IPv6, you must set the netmask length. The default value is 64. Output is always netmask length. |
management_interface
The management interface of the cluster. The netmask and gateway for this interface are used for the node management interfaces provided in the node configuration.
Name | Type | Description |
---|---|---|
ip |
Object to setup an interface along with its default router. |
ip
IP information
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
management_interfaces
A network interface. Either UUID or name may be supplied on input.
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
name |
string |
The name of the interface. |
uuid |
string |
The UUID that uniquely identifies the interface. |
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 |
---|---|---|
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. |
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 does 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. |
node_setup_ip
The IP configuration for cluster setup.
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
cluster_interface
The cluster network IP address of the node to be added.
Name | Type | Description |
---|---|---|
ip |
The IP configuration for cluster setup. |
cluster_interfaces
Network interface
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
name |
string |
The name of the interface. |
uuid |
string |
The UUID that uniquely identifies the interface. |
flash_cache
Name | Type | Description |
---|---|---|
capacity |
integer |
Size in bytes |
firmware_version |
string |
|
hardware_revision |
string |
|
model |
string |
|
part_number |
string |
|
serial_number |
string |
|
slot |
string |
|
state |
string |
frus
Name | Type | Description |
---|---|---|
id |
integer |
|
state |
string |
|
type |
string |
controller
Controller information
Name | Type | Description |
---|---|---|
flash_cache |
array[flash_cache] |
A list of Flash-Cache devices. Only returned when requested by name. |
frus |
array[frus] |
A list of frus in the node. Only returned when requested by name. |
over_temperature |
string |
Specifies whether the hardware is currently operating outside of its recommended temperature range. The hardware shuts down if the temperature exceeds critical thresholds. |
partners
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
ha
Name | Type | Description |
---|---|---|
auto_giveback |
boolean |
Specifies whether giveback is automatically initiated when the node that owns the storage is ready. |
enabled |
boolean |
Specifies whether or not storage failover is enabled. |
partners |
array[partners] |
The nodes in this node's High Availability (HA) group. |
management_interface
The management interface of the node to be added. The netmask is set based on the management interface of the cluster or the managment interfaces of other nodes.
Name | Type | Description |
---|---|---|
ip |
The IP configuration for cluster setup. |
management_interfaces
Network interface
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
name |
string |
The name of the interface. |
uuid |
string |
The UUID that uniquely identifies the interface. |
ipv4_interface
Object to setup an interface along with its default router.
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
gateway |
string |
The IPv4 or IPv6 address of the default router. |
netmask |
string |
Input as netmask length (16) or IPv4 mask (255.255.0.0). For IPv6, you must set the netmask length. The default value is 64. Output is always netmask length. |
ipv6_interface
Object to setup an interface along with its default router.
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
gateway |
string |
The IPv4 or IPv6 address of the default router. |
netmask |
string |
Input as netmask length (16) or IPv4 mask (255.255.0.0). For IPv6, you must set the netmask length. The default value is 64. Output is always netmask length. |
service_processor
Name | Type | Description |
---|---|---|
dhcp_enabled |
boolean |
Set to true to use DHCP to configure an IPv4 interface. |
firmware_version |
string |
The version of firmware installed. |
ipv4_interface |
Object to setup an interface along with its default router. |
|
ipv6_interface |
Object to setup an interface along with its default router. |
|
link_status |
string |
|
mac_address |
string |
|
state |
string |
version
This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes.
Name | Type | Description |
---|---|---|
full |
string |
The full cluster version string. |
generation |
integer |
The generation portion of the version. |
major |
integer |
The major portion of the version. |
minor |
integer |
The minor portion of the version. |
nodes
Complete node information
Name | Type | Description |
---|---|---|
_links |
||
cluster_interface |
The cluster network IP address of the node to be added. |
|
cluster_interfaces |
array[cluster_interfaces] |
|
controller |
Controller information |
|
date |
string |
Specifies the ISO-8601 format date and time on the node. |
ha |
||
location |
string |
|
management_interface |
The management interface of the node to be added. The netmask is set based on the management interface of the cluster or the managment interfaces of other nodes. |
|
management_interfaces |
array[management_interfaces] |
|
membership |
string |
Possible values:
|
model |
string |
|
name |
string |
|
serial_number |
string |
|
service_processor |
||
uptime |
integer |
The total time, in seconds, that the node has been up. |
uuid |
string |
|
version |
This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes. |
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 |
---|---|---|
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. |
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 does 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. |
cluster
Complete cluster information
Name | Type | Description |
---|---|---|
_links |
||
configuration_backup |
||
contact |
string |
|
dns_domains |
array[string] |
A list of DNS domains. Domain names have the following requirements:
|
license |
License keys or NLF contents. |
|
location |
string |
|
management_interface |
The management interface of the cluster. The netmask and gateway for this interface are used for the node management interfaces provided in the node configuration. |
|
management_interfaces |
array[management_interfaces] |
|
metric |
Performance numbers, such as IOPS latency and throughput. |
|
name |
string |
|
name_servers |
array[string] |
The list of IP addresses of the DNS servers. Addresses can be either IPv4 or IPv6 addresses. |
nodes |
array[nodes] |
|
ntp_servers |
array[string] |
Host name, IPv4 address, or IPv6 address for the external NTP time servers. |
password |
string |
Initial admin password used to create the cluster. |
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. |
|
uuid |
string |
|
version |
This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes. |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |
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. |