Joining nodes into clusters

Joining nodes into clusters

Nodes can be added to clusters with the POST /node/controller/doJoinCluster HTTP method and URI.

Description

This REST request adds an individual server node to a cluster. Two clusters can not be merged together into a single cluster, however, a single node can be added to an existing cluster. The clusterMemberHostIp and clusterMemberPort parameters must be specified to add a node to a cluster.

HTTP method and URI


POST /node/controller/doJoinCluster
			

The following parameters are required:

Table 1. /node/controller/doJoinCluster parameters
Argument Description
clusterMemberHostIp Hostname or IP address of a member of the cluster that the node receiving the POST is joining.
clusterMemberPort Port number for the RESTful interface to the system. If the cluster requires credentials, provide the administrator username and password.

Syntax

HTTP request syntax:

POST /node/controller/doJoinCluster
Host: localhost:8091
Authorization: Basic xxxxxxxxxxxx
Accept: */*
Content-Length: xxxxxxxxxx
Content-Type: application/x-www-form-urlencoded
clusterMemberHostIp=[ip-address]&clusterMemberPort=[port]&user=[admin]&password=[password]

Curl request syntax:

curl -u [admin]:[password] -d clusterMemberHostIp=[ip-address] \
	-d clusterMemberPort=[port] \
	-d user=[admin] -d password=[password]
	http://[localhost]:8091/node/controller/doJoinCluster

Example

HTTP request example:

POST /node/controller/doJoinCluster
Host: 10.5.2.54:8091
Authorization: Basic xxxxxxxxxxxx
Accept: */*
Content-Length: xxxxxxxxxx
Content-Type: application/x-www-form-urlencoded
clusterMemberHostIp=192.168.0.1&clusterMemberPort=8091&user=admin&password=admin123

Curl request example:

curl -u admin:password -d clusterMemberHostIp=192.168.0.1 \
	-d clusterMemberPort=8091 \
	-d user=admin -d password=password
	http://10.5.2.54:8091/node/controller/doJoinCluster

Response codes

200 OK with Location header pointing to pool details of pool just joined - successful join
400 Bad Request - missing parameters, etc.
401 Unauthorized - credentials required, but not supplied
403 Forbidden bad credentials - invalid credentials