Start of changeAdd Cluster Monitor (QcstAddClusterMonitor) API


  Required Parameter Group:

1 Request handle Output Char(16)
2 Cluster name Input Char(10)
3 Monitor information Input Char(*)
4 Format name Input Char(8)
5 Results information Input Char(30)
6 Error code I/O Char(*)

  Service Program: QCSTCTL2

  Default Public Authority: *EXCLUDE

  Threadsafe: Yes

The Add Cluster Monitor (QcstAddClusterMonitor) API is used to add a cluster node monitor to the cluster. The monitor runs on some node within the cluster and waits for messages from a server. The server sends a message when it detects a failure for a system it is monitoring.

In the absence of a cluster monitor, a failure such as a system crash due to a processor or memory failure is not detected by Cluster Resource Services as a node failure. Rather, Cluster Resource Services detects a failure in heartbeat communications and cannot determine if it is due to a node failure or a communications path failure. In this case, the cluster enters a partition state and failover does not occur. Refer to Managing failover outage events for information on failures that cause cluster partitions.

Start of change

The following server types are supported:

End of change
CIM server in a VIOS management partition Some IBM i systems such as a blade server or an entry level system may not be managed by an HMC but instead make use of the Integrated Virtualization Manager (IVM) in a Virtual I/O Server (VIOS) management partition. Since the VIOS is software running on the same IBM i system as a cluster node, some failures such as a hardware failure which takes down the whole IBM i system cannot be detected with a cluster monitor.
CIM server on HMC For IBM i systems that can be managed with a Hardware Management Console (HMC), the CIM server runs on the HMC. The HMC affords the most complete node failure detection since it is not part of the IBM i system and thus can continue to operate when a system has completely failed. Note: Support for the CIM server was removed in version 860 (V8R8.6.0) of the HMC.
Representational State Transfer (REST) server on HMC For IBM i systems that can be managed with a Hardware Management Console (HMC), a REST server runs on the HMC. The HMC affords the most complete node failure detection since it is not part of the IBM i system and thus can continue to operate when a system has completely failed. Note: Support for the REST server was added in version 850 (V8R8.5.0) of the HMC.

With the use of an HMC or VIOS and a cluster monitor, cluster partitions can be prevented for more situations. For example, suppose there are two cluster nodes: Node A and Node B. Each node is on a separate system. An HMC is attached to the system which contains Node A and the HMC is on a network which can communicate to Node B. A cluster node monitor is configured to run on Node B. Should Node A crash, the HMC sends a message to Node B and thus Cluster Resource Services has additional information to know that this was really a node failure and not a heartbeat communication failure.

When a cluster node is started and that node has had monitors added to it, Cluster Resource Services will attempt to contact the server defined in each monitor. The node will be started even if some error occurs contacting the server.

When an active cluster node is removed from the cluster and that node has had monitors added to it, Cluster Resource Services will attempt to contact the server defined in each monitor. The node will be removed even if some error occurs contacting the server.

The user id and password will be validated by connecting to the server host.

However, no validation is performed to determine if the server host is managing a system that has cluster nodes on it. For example, suppose a monitor was added on Node B to use an HMC, named HMC5. Cluster Resource Services will connect to HMC5 from Node B and validate the communication path is operational from Node B and that the user id and password are valid. But Cluster Resource Services does not attempt to validate that HMC5 is connected to and managing a system which has cluster nodes on it.

The following conditions apply to this API:

This API operates in an asynchronous mode. See Behavior of Cluster Resource Services APIs for more information.

Restriction: This API cannot be called from a cluster resource group exit program.


Authorities and Locks

The program that calls this API must be running under a user profile with *IOSYSCFG special authority.

User Queue Authority
*OBJOPR and *ADD
User Queue Library Authority
*EXECUTE
User Queue Lock
*EXCLRD

Required Parameter Group

Request handle
OUTPUT; CHAR(16)

A unique string or handle that identifies this API call. It is used to associate this call to any responses placed on the user queue specified in the results information parameter.

Cluster name
INPUT; CHAR(10)

The name of the cluster to which the monitor is being added. It must be a valid simple name.

Monitor information
INPUT; CHAR(*)

This parameter contains the information about the monitor and the server.

Format name
INPUT; CHAR(8)

The content and format of the information supplied for the monitor information. The possible format names are:

ADDM0100 Start of changeCIM cluster monitor informationEnd of change
Start of changeADDM0200End of change Start of changeRepresentational State Transfer (REST) cluster monitor informationEnd of change

Results information
INPUT; CHAR(30)

A library qualified user queue name followed by a reserved field.

Library qualified user queue: A user queue, which exists on the node from which the API was called, that receives results information after the function has completed on all active nodes in the cluster. See the Usage Notes section of this API for a description of the data that is placed on this queue. This is a 20 character field. The first 10 characters contain the user queue name and the second 10 characters contain the user queue library name. No special values are supported. QTEMP, *LIBL, and *CURLIB are not valid for the library name. The attributes of this user queue must be keyed.

Reserved. The last 10 characters of results information are reserved and must be set to hexadecimal zero.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


ADDM0100 Format

Offset Type Field
Dec Hex
0 0 BINARY(4) Length of data provided
4 4 CHAR(8) Node id where monitor is to run
12 C BINARY(4) CCSID of CIM server host name, user id and password
16 10 CHAR(256) CIM server host name
272 110 CHAR(33) CIM server user id
305 131 CHAR(33) CIM server password


Start of change

ADDM0200 Format

Offset Type Field
Dec Hex
0 0 BINARY(4) Length of data provided
4 4 CHAR(8) Node id where monitor is to run
12 C BINARY(4) CCSID of Representational State Transfer (REST) server host name, user id and password
16 10 CHAR(256) Representational State Transfer (REST) server host name
272 110 CHAR(33) Representational State Transfer (REST) server user id
305 131 CHAR(33) Representational State Transfer (REST) server password


End of change

Field Descriptions

CCSID of CIM server host name, user id and password. The Coded Character Set Identifier for the CIM server host name, user id and password. When authenticating with the CIM server, the user id and password are converted to CCSID 819 which corresponds to the Latin 1 characters in the ISO-8859-1 character encoding standard. Refer to CIM server host documentation on the characters that can be used for a user id and password.

0 The CIM server host name, user id and password text is assumed in the CCSID of the job running this API.
CCSID Specify a valid CCSID that your CIM server host name, user id and password are in. Valid values are between 1 and 65534. This API will validate the CCSID.
Start of change

CCSID of Representational State Transfer (REST) server host name, user id and password. The Coded Character Set Identifier for the REST server host name, user id and password. When authenticating with the REST server, the user id and password are converted to CCSID 1208 which corresponds to the UTF-8 standard. Refer to REST server host documentation on the characters that can be used for a user id and password.

0 The REST server host name, user id and password text is assumed in the CCSID of the job running this API.
CCSID Specify a valid CCSID that your Representational State Transfer (REST) server host name, user id and password are in. Valid values are between 1 and 65534. This API will validate the CCSID.
End of change

CIM server host name. The name of the CIM server host (HMC or VIOS partition) that will send information about the system and logical partitions it is managing. This is a null terminated character string. The name must follow the rules for an Internet Domain Name. Lowercase characters a-z will be folded to uppercase characters A-Z by the API. Refer to the help for the HOSTNAME keyword on the ADDTCPHTE (Add TCP/IP Host Table Entry) CL command for additional information.

CIM server password. The password for the CIM server user id used to authenticate the cluster monitor's connection to the CIM server. This is a null terminated character string.

CIM server user id. The user id for the CIM server used to authenticate the cluster monitor's connection to the CIM server. This is a null terminated character string.

Length of data provided. This is the total length of data provided (including this field) for the cluster monitor entry information

Node id. A valid simple name that uniquely identifies the node.

Start of change

Representational State Transfer (REST) server host name. The name of the REST server host (HMC partition) that will send information about the system and logical partitions it is managing. This is a null terminated character string. The name must follow the rules for an Internet Domain Name. Lowercase characters a-z will be changed to uppercase characters A-Z by the API. Refer to the help for the HOSTNAME keyword on the ADDTCPHTE (Add TCP/IP Host Table Entry) CL command for additional information.

Representational State Transfer (REST) server password. The password for the REST server user id used to authenticate the cluster monitor's connection to the REST server. This is a null terminated character string.

Representational State Transfer (REST) server user id. The user id for the REST server used to authenticate the cluster monitor's connection to the REST server. This is a null terminated character string.

End of change

Usage Notes

Results Information User Queue. Asynchronous results are returned to a user queue specified by the Results Information parameter of the API. See Cluster APIs Use of User Queues and Using Results Information for details on how to create the results information user queue, the format of the entries, and how to use the data placed on the queue. The data is sent to the user queue in the form of a message identifier and the substitution data for the message (if any exists). The following identifies the data sent to the user queue (excluding the message text).

Message ID Message Text
CPCBB01 C Cluster Resource Services API &1 completed.
CPF2204 D User profile &1 not found.
CPF3CF2 D Error(s) occurred during running of &1 API.
CPFBB17 D &1 API cannot be processed in cluster &2.
CPFBB24 D Node &1 not participating in &2 API protocol.
CPFBB2D D Timeout detected while waiting for a response.
CPFBB46 D Cluster Resource Services internal error.
CPFBBC9 D Product &1 option &2 not found on node &3.
CPFBBCB D Cluster monitor error on node &3.


Error Messages

Messages that are delivered through the error code parameter are listed here. The data (messages) sent to the results information user queue are listed in the Usage Notes above.

Message ID Message Text
CPF3C1E E Required parameter &1 omitted.
CPF3C21 E Format name &1 is not valid.
CPF3C29 E Object name &1 is not valid.
CPF3C39 E Value for reserved field not valid.
CPF3CF1 E Error code parameter not valid.
CPF3CF2 E Error(s) occurred during running of &1 API.
CPFBB02 E Cluster &1 does not exist.
CPFBB0A E Cluster node &1 in cluster &2 not active.
CPFBB17 E &1 API cannot be processed in cluster &2.
CPFBB26 E Cluster Resource Services not active or not responding.
CPFBB39 E Current user does not have IOSYSCFG special authority.
CPFBB44 E &1 API cannot be called from a cluster resource group exit program.
CPFBB46 E Cluster Resource Services internal error.
CPFBB5F E Field value within structure is not valid.

End of change
API introduced: IBM® i 7.1

[ Back to top | Cluster APIs | APIs by category ]