Add a node or nodes to a cluster
POST /cluster/nodes
Introduced In: 9.6
Adds a node or nodes to the cluster.
Required properties
-
cluster_interface.ip.address
Related ONTAP commands
-
cluster add-node
-
network interface create
-
storage aggregate auto-provision
-
system node modify
-
system service-processor network modify
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
create_recommended_aggregates |
boolean |
query |
False |
Creates aggregates based on an optimal layout recommended by the system.
|
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
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 |
The current or "wall clock" time of the node in ISO-8601 date, time, and time zone format. The ISO-8601 date and time are localized based on the ONTAP cluster's timezone setting.
|
disaggregated |
boolean |
Specifies whether the node is designed for disaggregated storage. |
external_cache |
Cache used for buffer management. |
|
ha |
||
hw_assist |
The hardware assist information. |
|
is_all_flash_optimized |
boolean |
Specifies whether the node is all flash optimized. |
is_all_flash_select_optimized |
boolean |
Specifies whether the node is all flash select optimized. |
is_capacity_optimized |
boolean |
Specifies whether the node is capacity optimized. |
is_performance_optimized |
boolean |
Specifies whether the node is performance optimized. |
is_spares_low |
boolean |
Specifies whether or not the node is in spares low condition. |
location |
string |
|
management_interface |
The management interface of the node to be added. The subnet mask is set based on the management interface of the cluster or the management interfaces of other nodes. |
|
management_interfaces |
array[management_interfaces] |
|
membership |
string |
Possible values:
|
metric |
CPU performance for the nodes. |
|
metrocluster |
Metrocluster |
|
model |
string |
|
name |
string |
|
nvram |
||
owner |
string |
Owner of the node. |
serial_number |
string |
|
service_processor |
||
snaplock |
SnapLock-related properties. |
|
state |
string |
State of the node:
|
statistics |
Raw CPU performance for the nodes. |
|
storage_configuration |
string |
The storage configuration in the system. Possible values:
|
system_aggregate |
Aggregate |
|
system_id |
string |
|
system_machine_type |
string |
OEM system machine type. |
uptime |
integer |
The total time, in seconds, that the node has been up. |
uuid |
string |
|
vendor_serial_number |
string |
OEM vendor serial number. |
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. |
|
vm |
Example request
{
"_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": {
"board": "System Board XXVIII",
"cpu": {
"count": 20,
"firmware_release": "string",
"processor": "string"
},
"failed_fan": {
"count": 1,
"message": {
"code": "111411207",
"message": "There are no failed fans."
}
},
"failed_power_supply": {
"count": 1,
"message": {
"code": "111411208",
"message": "There are no failed power supplies."
}
},
"flash_cache": [
{
"capacity": 1024000000000,
"device_id": 0,
"firmware_file": "X9170_O000Z6300NVM",
"firmware_version": "NA05",
"hardware_revision": "A1",
"model": "X1970A",
"part_number": "119-00207",
"serial_number": "A22P5061550000187",
"slot": "6-1",
"state": "string"
}
],
"frus": [
{
"id": "string",
"state": "string",
"type": "string"
}
],
"memory_size": 1024000000,
"over_temperature": "string"
},
"date": "2019-04-17 11:49:26 -0400",
"external_cache": {
"is_enabled": 1,
"is_hya_enabled": 1,
"is_rewarm_enabled": 1
},
"ha": {
"giveback": {
"failure": {
"code": 852126,
"message": "Failed to initiate giveback. Run the \"storage failover show-giveback\" command for more information."
},
"state": "failed",
"status": [
{
"aggregate": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"error": {
"code": "852126",
"message": "string"
},
"state": "string"
}
]
},
"interconnect": {
"adapter": "MVIA-RDMA",
"state": "string"
},
"partners": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"ports": [
{
"number": 0,
"state": "active"
}
],
"takeover": {
"failure": {
"code": 852130,
"message": "Failed to initiate takeover. Run the \"storage failover show-takeover\" command for more information."
},
"state": "failed"
},
"takeover_check": {
"reasons": [
"string"
]
}
},
"hw_assist": {
"status": {
"local": {
"ip": "string",
"state": "string"
},
"partner": {
"ip": "string",
"state": "string"
}
}
},
"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",
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"processor_utilization": 13,
"status": "ok",
"timestamp": "2017-01-25 06:20:13 -0500",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"metrocluster": {
"ports": [
{
"name": "e1b"
}
],
"type": "string"
},
"model": "FAS3070",
"name": "node-01",
"nvram": {
"battery_state": "string",
"id": 0
},
"owner": "Example Corp",
"serial_number": "4048820-60-9",
"service_processor": {
"api_service": {
"port": 0
},
"auto_config": {
"ipv4_subnet": "ipv4_mgmt",
"ipv6_subnet": "ipv6_mgmt"
},
"backup": {
"state": "string",
"version": "11.6"
},
"firmware_version": "string",
"ipv4_interface": {
"address": "10.10.10.7",
"gateway": "10.1.1.1",
"netmask": "255.255.0.0",
"setup_state": "string"
},
"ipv6_interface": {
"address": "fd20:8b1e:b255:5011:10:141:4:97",
"gateway": "fd20:8b1e:b255:5011:10::1",
"link_local_ip": "FE80::/10",
"netmask": 64,
"router_ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"setup_state": "string"
},
"last_update_state": "string",
"link_status": "string",
"mac_address": "string",
"primary": {
"state": "string",
"version": "11.6"
},
"ssh_info": {
"allowed_addresses": [
"10.10.10.7/24"
]
},
"state": "string",
"type": "string"
},
"snaplock": {
"compliance_clock_time": "2018-06-04 15:00:00 -0400"
},
"state": "string",
"statistics": {
"processor_utilization_base": 12345123,
"processor_utilization_raw": 13,
"status": "ok",
"timestamp": "2017-01-25 06:20:13 -0500"
},
"storage_configuration": "string",
"system_aggregate": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"system_id": 92027651,
"system_machine_type": "7Y56-CTOWW1",
"uptime": 300536,
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412",
"vendor_serial_number": 791603000068,
"version": {
"full": "NetApp Release 9.4.0: Sun Nov 05 18:20:57 UTC 2017",
"generation": 9,
"major": 4,
"minor": 0,
"patch": "P2"
},
"vm": {
"account_id": "string",
"deployment_id": "string",
"fault_domain": "string",
"instance_id": "string",
"primary_ip": "string",
"provider_type": "string",
"update_domain": "string"
}
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Response
Status: 201, Created
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
262245 |
The value provided was invalid. |
1179795 |
A node being added is already in the cluster. |
1179813 |
Fields set for one node must be set for all nodes. |
1179817 |
The IP address, subnet mask, and gateway must all be provided for cluster manangement interface. |
1179818 |
The IP address and gateway must be of the same family. |
1179821 |
An IP address and subnet mask conflicts with an existing entry. |
9240591 |
The name is not valid. The name is already in use by a cluster node, SVM, or it is the name of the local cluster. |
9240594 |
An invalid name was provided. |
11862025 |
The specified node management address and existing node management address belong to two subnets. Create a node management interface after creating the cluster or provide cluster and node management interfaces from the same subnet as the cluster management interface. |
131727360 |
A node cannot be added to the cluster. This is a generic code, see response message for details. |
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 |
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. |
ip
IP information
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
cluster_interfaces
Network interface
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
name |
string |
The name of the interface. If only the name is provided, the SVM scope must be provided by the object this object is embedded in. |
uuid |
string |
The UUID that uniquely identifies the interface. |
cpu
CPU information.
Name | Type | Description |
---|---|---|
count |
integer |
Number of CPUs on the node. |
firmware_release |
string |
Firmware release number. Defined by the CPU manufacturer. |
processor |
string |
CPU type on the node. |
message
Name | Type | Description |
---|---|---|
code |
string |
Error code describing the current condition of chassis fans. |
message |
string |
Message describing the current condition of chassis fans. It is only of use when |
failed_fan
Name | Type | Description |
---|---|---|
count |
integer |
Specifies a count of the number of chassis fans that are not operating within the recommended RPM range. |
message |
message
Name | Type | Description |
---|---|---|
code |
string |
Error code describing the current condition of power supply. |
message |
string |
Message describing the state of any power supplies that are currently degraded. It is only of use when |
failed_power_supply
Name | Type | Description |
---|---|---|
count |
integer |
Number of failed power supply units. |
message |
flash_cache
Name | Type | Description |
---|---|---|
capacity |
integer |
Size in bytes |
device_id |
integer |
|
firmware_file |
string |
|
firmware_version |
string |
|
hardware_revision |
string |
|
model |
string |
|
part_number |
string |
|
serial_number |
string |
|
slot |
string |
|
state |
string |
frus
Name | Type | Description |
---|---|---|
id |
string |
|
state |
string |
|
type |
string |
controller
Controller information
Name | Type | Description |
---|---|---|
board |
string |
Type of the system board. This is defined by vendor. |
cpu |
CPU information. |
|
failed_fan |
||
failed_power_supply |
||
flash_cache |
array[flash_cache] |
A list of Flash-Cache devices. Only returned when requested by name. |
frus |
array[frus] |
List of FRUs on the node. Only returned when requested by name. |
memory_size |
integer |
Memory available on the node, in bytes. |
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. |
external_cache
Cache used for buffer management.
Name | Type | Description |
---|---|---|
is_enabled |
boolean |
Indicates whether the external cache is enabled. |
is_hya_enabled |
boolean |
Indicates whether HyA caching is enabled. |
is_rewarm_enabled |
boolean |
Indicates whether rewarm is enabled. |
pcs_size |
integer |
PCS size in gigabytes. |
failure
Indicates the failure code and message.
Name | Type | Description |
---|---|---|
code |
integer |
Message code |
message |
string |
Detailed message based on the state. |
aggregate
Aggregate name and UUID.