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

Add a node or nodes to a cluster

Contributors

POST /cluster/nodes

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

Learn more

Parameters

Name Type In Required Description

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

return_records

boolean

query

False

The default is false. If set to true, the records are returned.

  • Default value: 1

create_recommended_aggregates

boolean

query

False

Creates aggregates based on an optimal layout recommended by the system.

  • 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

ha

ha

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

model

string

name

string

serial_number

string

service_processor

service_processor

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.

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": {
    "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": "2019-04-17 11:49:26 -0400",
  "ha": {
    "giveback": {
      "failure": {
        "code": 852126,
        "message": "Failed to initiate giveback. Run the \"storage failover show-giveback\" command for more information."
      },
      "state": "failed"
    },
    "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"
    }
  },
  "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": "fd20:8b1e:b255:5011:10:141:4:97",
      "gateway": "fd20:8b1e:b255:5011:10::1",
      "netmask": 64
    },
    "link_status": "string",
    "mac_address": "string",
    "state": "string"
  },
  "state": "string",
  "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
  },
  "vm": {
    "provider_type": "string"
  }
}

Response

Status: 202, Accepted
Name Type Description

job

job_link

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

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.

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]

List of FRUs on 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.

failure

Indicates the failure code and message.

Name Type Description

code

integer

Message code

message

string

Detailed message based on the state.

giveback

Represents the state of the node that is giving storage back to its HA partner.

Name Type Description

failure

failure

Indicates the failure code and message.

state

string

partners

Name Type Description

_links

_links

name

string

uuid

string

ports

Name Type Description

number

unsigned

HA port number

state

string

HA port state:

  • down - Logical HA link is down.

  • initialized - Logical HA link is initialized. The physical link is up, but the subnet manager hasn't started to configure the port.

  • armed - Logical HA link is armed. The physical link is up and the subnet manager started but did not yet complete configuring the port.

  • active - Logical HA link is active.

  • reserved - Logical HA link is active, but the physical link is down.

takeover

This represents the state of the node that is taking over storage from its HA partner.

Name Type Description

failure

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

giveback

Represents the state of the node that is giving storage back to its HA partner.

partners

array[partners]

Nodes in this node's High Availability (HA) group.

ports

array[ports]

takeover

takeover

This represents the state of the node that is taking over storage from its HA partner.

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

node_setup_ip

The IP configuration for cluster setup.

management_interfaces

Network interface

Name Type Description

_links

_links

ip

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

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.

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

ipv4_interface

Object to setup an interface along with its default router.

ipv6_interface

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.

vm

Name Type Description

provider_type

string

Cloud provider where the VM is hosted.

node

Complete node information

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

ha

ha

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

model

string

name

string

serial_number

string

service_processor

service_processor

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.

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

Name Type Description

_links

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