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

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-17T11:49:26-04:00

  • format: date-time

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

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.

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

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

  • quad_path

  • mixed_path_ha

  • single_path_ha

  • multi_path_ha

  • quad_path_ha

  • unknown

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": "ok"
    },
    "frus": {
      "id": "string",
      "state": "ok",
      "type": "fan"
    },
    "memory_size": "1024000000",
    "over_temperature": "over"
  },
  "date": "2019-04-17T11:49:26-04:00",
  "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": "available",
  "metric": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "duration": "PT15S",
    "processor_utilization": "13",
    "status": "ok",
    "timestamp": "2017-01-25T11:20:13Z"
  },
  "metrocluster": {
    "ports": {
      "name": "e1b"
    },
    "type": "fc"
  },
  "model": "FAS3070",
  "name": "node-01",
  "nvram": {
    "battery_state": "battery_ok",
    "id": 0
  },
  "owner": "Example Corp",
  "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": "up",
    "mac_address": "string",
    "state": "online"
  },
  "state": "up",
  "statistics": {
    "processor_utilization_base": "12345123",
    "processor_utilization_raw": "13",
    "status": "ok",
    "timestamp": "2017-01-25T11:20:13Z"
  },
  "storage_configuration": "unknown",
  "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"
  },
  "vm": {
    "provider_type": "GoogleCloud"
  }
}

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.

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.

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

integer

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.

metric

CPU performance for the nodes.

Name Type Description

_links

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

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:

  • battery_ok

  • battery_partially_discharged

  • battery_fully_discharged

  • battery_not_present

  • battery_near_end_of_life

  • battery_at_end_of_life

  • battery_unknown

  • battery_over_charged

  • battery_fully_charged

id

integer

Vendor specific NVRAM ID of the node.

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.

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

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.

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-17T11:49:26-04:00

  • format: date-time

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

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.

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

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

  • quad_path

  • mixed_path_ha

  • single_path_ha

  • multi_path_ha

  • quad_path_ha

  • unknown

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.