Skip to main content

Add a node or nodes to a cluster

Contributors

POST /cluster/nodes

Introduced In: 9.6

Adds a node or nodes to the cluster.

Required properties

  • cluster_interface.ip.address

  • 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.

  • Default value:

  • Introduced in: 9.7

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.

  • Default value: 1

  • Max value: 120

  • Min value: 0

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

cluster_interface

cluster_interface

The cluster network IP address of the node to be added.

cluster_interfaces

array[cluster_interfaces]

controller

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.

  • example: 2019-04-17 11:49:26 -0400

  • format: date-time

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

disaggregated

boolean

Specifies whether the node is designed for disaggregated storage.

external_cache

external_cache

Cache used for buffer management.

ha

ha

hw_assist

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

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:

  • available - A node is detected on the internal cluster network and can be added to the cluster. Nodes that have a membership of "available" are not returned when a GET request is called when the cluster exists. Provide a query on the "membership" property for available to scan for nodes on the cluster network. Nodes that have a membership of "available" are returned automatically before a cluster is created.

  • joining - Joining nodes are in the process of being added to the cluster. The node might be progressing through the steps to become a member or might have failed. The job to add the node or create the cluster provides details on the current progress of the node.

  • member - Nodes that are members have successfully joined the cluster.

metric

metric

CPU performance for the nodes.

metrocluster

metrocluster

Metrocluster

model

string

name

string

nvram

nvram

owner

string

Owner of the node.

serial_number

string

service_processor

service_processor

snaplock

snaplock

SnapLock-related properties.

state

string

State of the node:

  • up - Node is up and operational.

  • booting - Node is booting up.

  • down - Node has stopped or is dumping core.

  • taken_over - Node has been taken over by its HA partner and is not yet waiting for giveback.

  • waiting_for_giveback - Node has been taken over by its HA partner and is waiting for the HA partner to giveback disks.

  • degraded - Node has one or more critical services offline.

  • unknown - Node or its HA partner cannot be contacted and there is no information on the node's state.

statistics

statistics

Raw CPU performance for the nodes.

storage_configuration

string

The storage configuration in the system. Possible values:

  • mixed_path

  • single_path

  • multi_path

  • tri_path

  • quad_path

  • mixed_path_ha

  • single_path_ha

  • multi_path_ha

  • tri_path_ha

  • quad_path_ha

  • unknown

  • virtual

system_aggregate

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

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

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

job_link

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

returned_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

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

node_setup_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

_links

ip

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.count is not zero.

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

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.count is not zero.

failed_power_supply

Name Type Description

count

integer

Number of failed power supply units.

message

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

CPU information.

failed_fan

failed_fan

failed_power_supply

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.