You can use the AddNodes method to add one or more new nodes to a cluster.
When a node that is not configured starts up for the first time, you are prompted to configure the node. Once you configure the node, it is registered as a "pending node" with the cluster. Storage clusters running Element software automatically image a node to the version on the cluster. When you add a pending node, the method response includes an asyncHandle value that you can use with the GetAsyncResult method to query the status of the automatic imaging process.
The process of adding a Fibre Channel node is the same as adding Element iSCSI storage nodes to a cluster. Fibre Channel nodes are registered in the system with a NodeID. When they become accessible, they are put in a "pending node" status. The ListAllNodes method will return the pendingNodeID for iSCSI nodes as well as any Fibre Channel nodes that are available to add to the cluster.
When you add a node to a cluster that you have configured for virtual networking, the system requires a sufficient number of virtual storage IP addresses to allocate a virtual IP to the new node. If there are no virtual IP addresses available for the new node, the AddNode operation fails. Use the ModifyVirtualNetwork method to add more storage IP addresses to your virtual network.
Once you add a node, any drives on the node are made available and you can add them using the AddDrives method to increase the storage capacity of the cluster.
This method has the following input parameter:
Name | Description | Type | Default value | Required |
---|---|---|---|---|
pendingNodes | Pending NodeIDs for the nodes to be added. You can obtain the list of pending nodes using the ListPendingNodes method. | integer array | None | Yes |
This method has the following return value:
Name | Description | Type |
---|---|---|
nodes | An array of objects mapping the previous "pendingNodeID" to the "nodeID". When you add a pending node that is running an incompatible software version, this array includes an asyncHandle value that you can use with the GetAsyncResult method to query the status of the automatic imaging process. | JSON object array |
Requests for this method are similar to the following example:
{ "method": "AddNodes", "params": { "pendingNodes" : [1] }, "id":1 }
This method returns a response similar to the following example:
{ id: null, result: { autoInstall: true, nodes: [ { activeNodeKey: "giAm2ep1hA", assignedNodeID: 6, asyncHandle: 3, cip: "10.10.5.106", mip: "192.168.133.106", pendingNodeID: 2, platformInfo: { chassisType: "R620", cpuModel: "Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz", nodeMemoryGB: 72, nodeType: "SF3010" }, sip: "10.10.5.106", softwareVersion: "9.0.0.1077" } ] } }
9.6