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.
|
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 managment 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 |
||
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_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-17T11:49:26-04:00",
"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"
}
},
"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-25T11:20:13Z",
"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": "24"
},
"ipv6_interface": {
"address": "fd20:8b1e:b255:5011:10:141:4:97",
"gateway": "fd20:8b1e:b255:5011:10::1",
"netmask": 64
},
"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"
},
"state": "string",
"statistics": {
"processor_utilization_base": 12345123,
"processor_utilization_raw": 13,
"status": "ok",
"timestamp": "2017-01-25T11:20:13Z"
},
"storage_configuration": "string",
"system_id": "0537035403",
"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"
}
}
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. |
131727360 |
A node cannot be added to the cluster. This is a generic code, see response message for details. |
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.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
error
Indicates the failed aggregate giveback code and message.
Name | Type | Description |
---|---|---|
code |
string |
Message code. |
message |
string |
Detailed message based on the state. |
status
Name | Type | Description |
---|---|---|
aggregate |
Aggregate name and UUID. |
|
error |
Indicates the failed aggregate giveback code and message. |
|
state |
string |
Giveback state of the aggregate. Possible values include no aggregates to giveback(nothing_to_giveback), failed to disable background disk firmware update(BDFU) on source node(failed_bdfu_source), giveback delayed as disk firmware update is in progress on source node(delayed_bdfu_source), performing veto checks(running_checks). |
giveback
Represents the state of the node that is giving storage back to its HA partner.
Name | Type | Description |
---|---|---|
failure |
Indicates the failure code and message. |
|
state |
string |
|
status |
array[status] |
Giveback status of each aggregate. |
interconnect
Name | Type | Description |
---|---|---|
adapter |
string |
HA interconnect device name. |
state |
string |
Indicates the HA interconnect status. |
partners
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
ports
Name | Type | Description |
---|---|---|
number |
integer |
HA port number |
state |
string |
HA port state:
|
takeover
This represents the state of the node that is taking over storage from its HA partner.
Name | Type | Description |
---|---|---|
failure |
Indicates the failure code and message. |
|
state |
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. |
giveback |
Represents the state of the node that is giving storage back to its HA partner. |
|
interconnect |
||
partners |
array[partners] |
Nodes in this node's High Availability (HA) group. |
ports |
array[ports] |
|
takeover |
This represents the state of the node that is taking over storage from its HA partner. |
local
Name | Type | Description |
---|---|---|
ip |
string |
The hardware assist IP address. |
port |
integer |
The hardware assist port. |
state |
string |
The hardware assist monitor status. |
partner
Name | Type | Description |
---|---|---|
ip |
string |
The hardware assist IP address. |
port |
integer |
The hardware assist port. |
state |
string |
The hardware assist monitor status. |
status
Name | Type | Description |
---|---|---|
enabled |
boolean |
Indicates whether hardware assist is enabled on the node. |
local |
||
partner |
hw_assist
The hardware assist information.
Name | Type | Description |
---|---|---|
status |
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 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. 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. |
metric
CPU performance for the nodes.
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: |
processor_utilization |
integer |
Average CPU Utilization for the node |
status |
string |
Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an 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. |
timestamp |
string |
The timestamp of the performance data. |
uuid |
string |
ports
Name | Type | Description |
---|---|---|
name |
string |
metrocluster
Metrocluster
Name | Type | Description |
---|---|---|
custom_vlan_capable |
boolean |
Indicates whether the MetroCluster over IP platform supports custom VLAN IDs. |
ports |
array[ports] |
MetroCluster over IP ports. |
type |
string |
The Metrocluster configuration type |
nvram
Name | Type | Description |
---|---|---|
battery_state |
string |
Specifies status of the NVRAM battery. Possible values:
|
id |
integer |
Vendor specific NVRAM ID of the node. |
api_service
Provides the properties of the service processor API service.
Name | Type | Description |
---|---|---|
enabled |
boolean |
Indicates whether the service processor API service is enabled. |
limit_access |
boolean |
Indicates whether the service processor API service limit access is enabled. |
port |
integer |
Indicates the port number of service processor API service. |
auto_config
Provides the properties of the service processor auto configuration.
Name | Type | Description |
---|---|---|
ipv4_subnet |
string |
Indicates the service processor auto configuration IPv4 subnet name. To enable IPv4 auto-config give the subnet name, give the value as null or an empty string "" to disable auto-config. |
ipv6_subnet |
string |
Indicates the service processor auto configuration IPv6 subnet name. To enable IPv6 auto-config give the subnet name, give the value as null or an empty string "" to disable auto-config. |
backup
Provides the properties of the service processor backup partition.
Name | Type | Description |
---|---|---|
is_current |
boolean |
Indicates whether the service processor is currently booted from the backup partition. |
state |
string |
Status of the backup partition. |
version |
string |
Firmware version of the backup partition. |
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, the default value is 64 with a valid range of 1 to 127. Output is always netmask length. |
ipv6_interface
Object to setup an interface along with its default router.
Name | Type | Description |
---|---|---|
address |
string |
IPv6 address |
gateway |
string |
The IPv6 address of the default router. |
netmask |
integer |
The IPv6 netmask/prefix length. The default value is 64 with a valid range of 1 to 127. |
primary
Provides the properties of the service processor primary partition.
Name | Type | Description |
---|---|---|
is_current |
boolean |
Indicates whether the service processor is currently booted from the primary partition. |
state |
string |
Status of the primary partition. |
version |
string |
Firmware version of the primary partition. |
ssh_info
Service processor SSH allowed IP address configuration applied across the cluster.
Name | Type | Description |
---|---|---|
allowed_addresses |
array[string] |
Allowed IP addresses |
service_processor
Name | Type | Description |
---|---|---|
api_service |
Provides the properties of the service processor API service. |
|
auto_config |
Provides the properties of the service processor auto configuration. |
|
autoupdate_enabled |
boolean |
Indicates whether the service processor can be automatically updated from ONTAP.
|
backup |
Provides the properties of the service processor backup partition. |
|
dhcp_enabled |
boolean |
Set to "true" to use DHCP to configure an IPv4 interface. Do not provide values for address, netmask and gateway when set to "true". |
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. |
|
is_ip_configured |
boolean |
Indicates whether the service processor network is configured. |
last_update_state |
string |
Provides the "update status" of the last service processor update. |
link_status |
string |
|
mac_address |
string |
|
primary |
Provides the properties of the service processor primary partition. |
|
ssh_info |
Service processor SSH allowed IP address configuration applied across the cluster. |
|
state |
string |
|
type |
string |
statistics
Raw CPU performance for the nodes.
Name | Type | Description |
---|---|---|
processor_utilization_base |
integer |
Base counter for CPU Utilization. |
processor_utilization_raw |
integer |
Raw CPU Utilization for the node. This should be divided by the processor_utilization_base to calculate the percentage CPU utilization for the node. |
status |
string |
Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an 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. |
timestamp |
string |
The timestamp of the performance data. |
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. |
patch |
string |
The patch portion of the version. |
vm
Name | Type | Description |
---|---|---|
account_id |
string |
The cloud provider account ID. |
deployment_id |
string |
The cloud provider deployment ID. |
fault_domain |
string |
The VM fault domain. |
instance_id |
string |
The cloud provider instance ID. |
primary_ip |
string |
The VM primary IP address. |
provider_type |
string |
Cloud provider where the VM is hosted. |
update_domain |
string |
The VM update domain. |
node
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 |
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.
|
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 managment 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 |
||
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_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 |
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. |