REST service for adding a master when other master in the cluster is not reachable

To add a standby or master server to the cluster when a standby or master server in the cluster is out of network or not reachable, use the Add Master REST Service with additional parameters, ignoreStandbys and ignoreNodes.

Operation
POST
URL
https://host:port/SKLM/rest/v1/ckms/config/nodes/addNodes

By default, Guardium® Key Lifecycle Manager server listens to the secure port 9443 (HTTPS) for communication. During IBM® Security Guardium Key Lifecycle Manager installation, you can modify this default port.

Request

Request Parameters
Parameter Description
host Specify the IP address or hostname of the IBM Security Guardium Key Lifecycle Manager server.
port Specify the port number on which the IBM Security Guardium Key Lifecycle Manager server listens for requests.
Request Headers
Header name Value
Content-Type application/json
Accept application/json
Authorization SKLMAuth userAuthId=<authIdValue>
Accept-Language Any valid locale that is supported by IBM Security Guardium Key Lifecycle Manager. For example, en or de.
Request body

JSON object with the following specification:

Property name Description
clusterName Specify a name for the multi-master cluster to which the masters to be added.
primaryHadrPort Specify the port number for the HADR primary database. You must specify the value for this property for the first time only when stand-alone Guardium Key Lifecycle Manager server instance is configured as Primary along with Standby or Node.
type Specify the Guardium Key Lifecycle Manager server instance type. For example, Primary, Standby, or Node.
ipHostname Specify the host name of the Guardium Key Lifecycle Manager server server.
standbyPriorityIndex Specify the priority index value for the standby database. You can set the priority index to any value in the range 1-3. The standby server with a higher priority index level (lower number) takes precedence over the lower-priority databases for being promoted to primary when the primary database is down.
httpPort Specify the port number on which the Guardium Key Lifecycle Manager server server listens for requests from devices that communicate by using the TLS protocol.
sklmUsername Specify the name of the Guardium Key Lifecycle Manager server administrator.
sklmPassword Specify the password for the Guardium Key Lifecycle Manager server administrator.
ignoreStandbys Specify the host name of standby server that is not reachable.
ignoreNodes Specify the host name of master server that is not reachable.
autoAccept Specify whether the cluster automatically accepts the certificate of the master server that is being added. This property has two values: Yes, No. The default value is No, which indicates that the cluster does not automatically accept the certificate of the master server that is being added.

Response

Response Headers
Header name Value and description
Status Code
200 OK
The request was successful. The response body contains the requested representation.
400 Bad Request
The authentication information was not provided in the correct format.
401 Unauthorized
The authentication credentials were missing or incorrect.
404 Not Found Error
The processing of the request fails.
500 Internal Server Error
The processing of the request fails because of an unexpected condition on the server.
Content-Type application/json
Content-Language Locale for the response message.
Success response body

JSON object with the following specification:

JSON property name Description
code Returns the code that is specified by the status property.
status Returns the status to indicate whether the master is added to the multi-master cluster.
Error Response Body

JSON object with the following specification.

JSON property name Description
code Returns the application error code.
message Returns a message that describes the error.

Examples

Service request to add master to the cluster when a master or standby server is not reachable
Example for adding a standby.
POST https://localhost:port/SKLM/rest/v1/ckms/config/nodes/addNodes
Content-Type: application/json
Accept : application/json
Authorization: SKLMAuth userAuthId=139aeh34567m
Accept-Language : en
[
{
"clusterName" : "multimaster",
"primaryHadrPort" : "60030"
"ignoreStandbys" : "cimkc2b151",
"ignoreNodes" : "cimkc2b152"
},
{
"type" : "Standby",
"ipHostname" :  "cimkc2b150",
"httpPort" :  "9443",
"sklmUsername" :  "sklmadmin",
"sklmPassword" :  "your_sklmadmin_password",
"standbyPriorityIndex" : "2",
"autoAccept" : "Yes"
}
]
Example for adding a master.
POST https://localhost:port/SKLM/rest/v1/ckms/config/nodes/addNodes
Content-Type: application/json
Accept : application/json
Authorization: SKLMAuth userAuthId=139aeh34567m
Accept-Language : en
[
{
"clusterName" : "multimaster"
"ignoreStandbys" : "cimkc2b151",
"ignoreNodes" : "cimkc2b152"
},
{
"type" : "Node",
"ipHostname" :  "cimkc2b153",
"httpPort" :  "9443",
"sklmUsername" :  "sklmadmin",
"sklmPassword" :  "your_sklmadmin_password",
"autoAccept" : "Yes"
}
]
Success response
Status Code: 200 OK
{"code":"0","status":"CTGKM3002I Successfully added the master in Multi-Master cluster."}
Error response
{"code":"CTGKM6002E",
"message":"CTGKM6002E Bad Request: Invalid user authentication ID or invalid request format."}