How To Configure and Maintain CAICCI

Document ID : KB000054545
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

The acronym CAICCI stands for Computer Associates International Common Communications Interface. This technical document explains briefly how to configure, manage, and test an important communication component that runs on Unicenter NSM and Unicenter Job Management. It describes how to test CAICCI communication between Windows, UNIX/Linux, HP NonStop, OpenVMS, and a job management manager.

Solution:

CAICCI Overview

CAICCI is the Common Communications Interface for Unicenter NSM and Unicenter Job Management, and is essentially the glue among the various Enterprise Management components across a heterogeneous environment. CAICCI uses and runs on top of TCP/IP.

CAICCI is implemented as three processes or daemons:

  • CAICCID is referred to as the main CAICCI daemon because it starts first and builds the necessary CAICCI resources. It is responsible for starting and stopping the other two processes.

  • CCICLND is referred to as the clean daemon because its responsibility includes the maintenance of the CAICCI IPC resources.

  • CCIRMTD is the remote daemon process that is responsible for transmission of data across the network.

For a Unicenter job manager to communicate with the Unicenter Universal Job Management Agent on a target machine, you need to configure CAICCI on each platform. This doc is discussing step-by-step instructions for configuring CAICCI on the following platforms:

  • Windows

  • UNIX

  • HP NonStop

  • OpenVMS

  • OS/400

  • the mainframe

LOCAL and REMOTE Statements

The format is the same for the LOCAL and REMOTE statements. The brackets are applied in the syntax example to separate the parameter names. Otherwise, the parameters are delimited by a space.

LOCAL and REMOTE statements have the following format:

LOCAL = <TCP/IP name> <CCI name> <buffersize> <startup options> <alias options> <port options> <retry interval>
REMOTE = <TCP/IP name> <CCI name> <buffersize> <startup options> <alias options> 
<port options> <heartbeat options> <retry interval>

TCP/IP name

It specifies either an IP address or a name that is used as input to a name service to retrieve an IP address. You may use the TCP/IP name with the PING command to determine whether a remote connection is live. The default is the TCP/IP host name. It does not require a logical connection to the CCI name.

CCI name

Specifies the logical name CAICCI uses to identify this host. This is the system name, which may or may not be the same as the IP hostname. This name may be as long as 64 characters, but an alias must be used for names greater than eight characters.

For the REMOTE statement that defines the mainframe, the CAICCI name is the value specified by SYSID (xxxx) in the //ENFPARMS DD statement. This value is also on the PROTOCOL statement in //ENFPARMS.

Buffersize

Specifies the maximum buffer CAICCI will receive or send over the socket, a value used for segmenting the data transfer. Each side of the connection may have this set to a different value, between 1024 and 32768. The lesser of the two values will be used. It is generally not necessary to alter this field.
Important! Contact CA Customer Support before changing the buffer size.

Startup options

Tells ccirmtd (the CAICCI remote daemon) whether to initiate a connection-sometimes you may want only one side to initiate the connection. Not having the server start connections eliminates a succession of messages when CAICCI is recycled. STARTUP tells CAICCI to attempt a remote connection when activated, whereas NOSTART implies that the remote system will be initiating the connection to the node.

Alias options

Specifies an optional alias name used to differentiate multiple remote computers having exactly the same first eight characters (when their host names exceed eight characters).It specifies that, for hosts with a hostname greater than eight characters, this name is used for internal CAICCI structures. This alias need not appear in DNS or IP host file. It must be unique and consistent across nodes.

When an alias is used on the LOCAL line for a host with a name greater than eight characters, all hosts to which it will be connected must have a REMOTE line for this host with this same alias defined. The format is

ALIAS=aliasname

Port options

It allows you to specify an alternate port for this specific connection only. Sometimes you may have two groups of hosts. One may still use the old 7000 port and the new ones may use the new 1721 port. Any host from the first group wishing to communicate with the second group must be made aware that the connection should be made to a different port. The format is PORT=1721. Do not change this value.

Heartbeat options

It specifies whether the CAICCI remote heartbeat feature is enabled. The heartbeat feature detects connection loss with the remote node if the remote node terminates the connection without notification. The format to enable the heartbeat feature is HEARTBEAT=YES. The format to disable the heartbeat feature is HEARTBEAT=NO.

You can also define the heartbeat functionality by using environment variables as follows.

On Linux or UNIX:

CAI_CCI_RMTHEARTBEAT

When this variable is set to 1, the heartbeat option is enabled to all the nodes listed in the ccirmtd.prf file. However, explicitly setting the option in the ccirmtd.prf file takes precedence over the global flag. The variable needs to be unset to turn it off after being set.


CAI_CCI_HBTIMEOUT

By default, the wait time for an acknowledgement to ping from the remote node is 30 seconds. You can alter this value by setting the variable to a desired number of seconds. The minimum and maximum values allowed are 15 and 45 seconds. The value defaults to 30 seconds if any other value is set.

On Windows:

CAI_CCIRMT_HEARTBEAT

When this variable is set to YES, the heartbeat option is enabled to all the nodes listed in the ccirmtd.rc file. However, explicitly setting the option in the ccirmtd.rc files takes precedence over the global flag.


CCIRMTPINGTIMEOUT

By default, the wait time for an acknowledgement to the ping from the remote node is 30 seconds. You can alter this value by setting the variable to a desired number of seconds. The minimum and maximum values allowed are 15 and 45 seconds. The value defaults to 30 seconds if any other value is set.
You can set the variables using the Configuration Settings GUI (Options, CCI Options tab) or from the command prompt by running the following commands:

cautenv setopt CAI_CCIRMT_HEARTBEAT value
cautenv setopt CCIRMTPINGTIMEOUT value

retry interval

Determines how ccirmtd behaves if the connection is dropped and specifies the number of seconds between retry connect attempts. The format is as follows:

  • If x=0, ccirmtd will not retry the connection.

  • If x=-1, ccirmtd will start with a two second retry interval and double after each unsuccessful retry attempt.

  • If x > 0, ccirmtd will wait n seconds between retry attempts.

Note: Retry interval is mainly used in conjunction with the nostart option to allow the server to sit passively and wait for incoming connection requests. If a client host goes down, the server will not attempt to reconnect.

Basic Sample Configuration

Assume you have four systems, all with node names of eight characters or less: NTSYS1, VMSSYS2, UNXSYS3, and HPNSTP4. The configuration file for each system follows:


UNIX: CCIRMTD.PRF

  
LOCAL = UNXSYS3 UNXSYS3 32768 startup 
REMOTE = NTSYS1 NTSYS1 32768 startup 
REMOTE = VMSSYS2 VMSSYS2 32768 startup 
REMOTE = HPNSTP4 HPNSTP4 32768 startup 

Windows Manager: CCIRMTD.RC

LOCAL = NTSYS1 NTSYS1 32768 startup 
REMOTE = UNXSYS3 UNXSYS3 32768 startup 
REMOTE = VMSSYS2 VMSSYS2 32768 startup 
REMOTE = HPNSTP4 HPNSTP4 32768 startup

OpenVMS: CCIRMTD.PRF

LOCAL = VMSSYS2 VMSSYS2 32768 startup 
REMOTE = UNXSYS3 UNXSYS3 32768 startup 
REMOTE = NTSYS1 NTSYS1 32768 startup 
REMOTE = HPNSTP4 HPNSTP4 32768 startup 

HP NonStop: CACCICFG.RMTPRF

LOCAL = HPNSTP4 HPNSTP4 32768 startup 
REMOTE = UNXSYS3 UNXSYS3 32768 startup 
REMOTE = NTSYS1 NTSYS1 32768 startup 
REMOTE = VMSSYS2 VMSSYS2 32768 startup

Advanced Sample Configuration

In this configuration, assume that all of the host or system names are longer than eight characters (OPENVMSSYS1, for example). The configuration files would be as follows:

UNIX: CCIRMTD.PRF

LOCAL = UNXSYS3 UNIXSERVER3 32768 startup ALIAS=UNX3 
REMOTE = NTSYS1 WINNTSYS1 32768 startup ALIAS=NT1 
REMOTE = VMSSYS2 OPENVMSSYS2 32768 startup ALIAS=VMSNOD2 
REMOTE = HPNSTP4 HPNONSTOP4 32768 startup ALIAS=HPNS4 

Windows Manager: CCIRMTD.RC

LOCAL = NTSYS1 WINNTSYS1 32768 startup ALIAS=NT1 
REMOTE = UNXSYS3 UNIXSERVER3 32768 startup ALIAS=UNX3 
REMOTE = VMSSYS2 32768 OPENVMSSYS2 startup ALIAS=VMSNOD2 
REMOTE = HPNSTP4 HPNONSTOP4 32768 startup ALIAS=HPNS4 

OpenVMS: CCIRMTD.PRF

LOCAL = VMSSYS2 OPENVMSSYS2 32768 startup ALIAS=VMSNOD2 
REMOTE = UNXSYS3 UNIXSERVER3 32768 startup ALIAS=UNX3 
REMOTE = NTSYS1 WINNTSYS1 32768 startup ALIAS=NT1 
REMOTE = HPNSTP4 HPNONSTOP4 32768 startup ALIAS=HPNS4 

HP NonStop: CACCICFG.RMTPRF

LOCAL = HPNSTP4 HPNONSTOP4 32768 startup ALIAS=HPNS4 
REMOTE = UNXSYS3 UNIXSERVER3 32768 startup ALIAS=UNX3 
REMOTE = NTSYS1 WINNTSYS1 32768 startup ALIAS=NT1 
REMOTE = VMSSYS2 OPENVMSSYS2 32768 startup ALIAS=VMSNOD2

Configure CAICCI on Windows

During post-installation, you must configure CAICCI on every Windows machine on which you have installed the Unicenter Universal Job Management Agent (UJMA).

To configure CAICCI on Windows

  1. Attempt to ping the job manager node. If you cannot, modify the TCP/IP setup on the Windows machine as well as on the job manager machine. This may require a DNS entry or an entry in the Windows machine's %SystemRoot%\system32\drivers\etc\hosts file for the job manager or mainframe ENF node name.

  2. Issue the following command to verify that the Remote Server is installed:

    ccicntrl

    A series of messages appears indicating status. If the Remote Server is installed and running, the following message appears:

    Service "CA-Unicenter (Remote)", STATUS is "Running"

  3. Define a connection between job manager nodes and the UJMA machine. To define it on the UJMA machine, use LOCAL and REMOTE statements in the CAICCI configuration file, located at InstallPath\CAIUSER\ccirmtd.rc.

    The LOCAL statement applies to the local computer, while any REMOTE statements apply to the remote nodes that exchange information through CAICCI. For an explanation of the syntax and parameters in the LOCAL and REMOTE statements, see the section LOCAL and REMOTE Statements. The definitions apply to both LOCAL and REMOTE statements.


    LOCAL Statement Example

    The following LOCAL statement example tells CAICCI that the TCP/IP name of the local machine is NTSYS1 and that any remote system wishing to communicate with this system can do so by referencing NTSYS1 as the name. Any UJMA within the network can send and receive messages to this system independent of hardware or protocols, if it uses the name NTSYS1.
    LOCAL = NTSYS1 NTSYS1 32768 STARTUP


    REMOTE Statement Examples

    The following REMOTE statement example tells CAICCI to attempt a connection to 172.22.111.121 and to internally register MF01 as the CCI name. Any Job Management Agent within the network can send and receive messages to this system independent of hardware or protocols, if it uses the name MF01.
    REMOTE = 172.22.111.121 MF01 32768 STARTUP PORT=1721
    The following REMOTE statement example tells CAICCI to attempt a connection to the computer whose TCP/IP name is UNXSYS3 and whose CCI name (machine name) is UNIXSERVER3, but also to allow UJMA to send and receive messages using the alias UNX3.

    REMOTE = UNXSYS3 UNIXSERVER3 32768 STARTUP ALIAS=UNX3

  4. If the Remote Server is not installed, issue the following command:

    ccicntrl install rmt <path>

    where path represents the location of the drive:\NSM\bin (installation path\bin).

  5. Start the Remote Server if necessary. The Remote Server must be running. To determine whether it is running, issue the following command:

    ccicntrl

    A series of messages appears indicating the status. If the Remote Server is running, the following message is included:

    Service "CA-Unicenter (Remote)", STATUS is "Running".

    If the Remote Server is not running, issue the following command to start it:

    ccicntrl start rmt

    If you modified the ccirmtd.rc file as described in Step 3, and the Remote Server is still active, recycle the Remote Server by issuing the following commands:

    ccicntrl stop rmt
    ccicntrl start rmt


    If the Unicenter service (or any other service that depends on CAICCI) is running, stop it manually prior to stopping CAICCI with this command. If you use the Windows Services Control Panel applet to stop the Remote Server instead of using the ccicntrl stop command, you will see the list of any dependent services.

  6. Issue the following command to verify that CAICCI has
    established communications:

    ccii

    The following is an example of the output of this command:

    Oid(SCHLAP2,CAI_OPR_SAFD ) Did( , ) type(L)
    Oid(SCHLAP2,CAU9SET SetUp Mgr ) Did( , ) type(L)
    Oid(SCHLAP2,SUBMITC Server ) Did( , ) type(L)
    Oid(A44SENF,W410_SPAWN_SERVER ) Did( , ) type(R)
    Oid(A44SENF,MVS_START_SERVER ) Did( , ) type(R)
    Oid(A44SENF,CA7XE44 Server ) Did( , ) type(R)
    Oid(A44SENF,BARRYNT2.A44SENFUL2 ) Did( , ) type(R)
    Oid(A44SENF,CA7XE44 Job track ) Did( , ) type(R)

    In this example, the lines with the A44SENF entries indicate that the CAICCI connection has been made to a mainframe. SCHLAP2 is the Windows machine where UJMA is installed.

    The ccii command displays the CAICCI applications that are available. If UJMA has not been started, no entries are displayed for the local machine.

    Configure CAICCI on Linux or UNIX

    During post-installation, you must configure CAICCI on every UNIX or Linux machine where the Unicenter Universal Job Management Agent (UJMA) is installed.

To configure CAICCI on Linux or UNIX

  1. Attempt to ping the job manager node. If you cannot, modify the TCP/IP setup on the Linux or UNIX machine as well as on the job manager node. This may require a DNS entry or an entry in the /etc/hosts file of the Linux or UNIX machine for the job manager or mainframe ENF node name. (Note the MVS host name.)

  2. Define a connection between job manager nodes and the UJMA machine. To define it on the UJMA machine, use LOCAL and REMOTE statements in the CAICCI configuration file, located at $CAIGLBL0000/cci/config/local host/ccirmtd.prf.

    LOCAL and REMOTE Statement Format

    The LOCAL statement applies to the local Linux or UNIX computer, while REMOTE statements apply to the remote nodes that exchange information with CAICCI.

    For an explanation of the syntax and parameters in the local and remote statements, see the section LOCAL and REMOTE Statements. The definitions apply to both LOCAL and REMOTE statements.

    LOCAL Statement Example

    The following example tells CAICCI that the TCP/IP name of the local machine is UNXSYS3 and that any remote system that wants to communicate with this system should reference UNXSYS3 as the name. Any Job Management Agent within the network can send and receive messages to this system independent of hardware or protocols if it uses the name UNXSYS3.

    LOCAL=UNXSYS3 UNXSYS3 32768 STARTUP

    REMOTE Statement Examples

    The following REMOTE statement example tells CAICCI to attempt a connection to 172.22.111.123 and to internally register MF01 as the CCI name. Any Job Management Agent within the network can send and receive messages to this system, independent of hardware or protocols, if it uses the name MF01.

    REMOTE=172.22.111.123 MF01 32768 STARTUP PORT=1721

    The following REMOTE statement example tells CAICCI to attempt a connection to the computer whose TCP/IP name is NTSYS1 and whose CCI name is WINNTSYS1, but also to allow any Job Management Agent to send and receive messages using the alias NT1.

    REMOTE=NTSYS1 WINNTSYS1 32768 STARTUP ALIAS=NT1

  3. Issue the following command to determine the status of the Remote Server:

    unifstat

    A series of messages appears indicating the status of servers. If the Remote Server is running, the following message is included:

    CA-CCI Remote Server nnn running

    where nnn is the process ID of the Remote Server process.

  4. Start the Remote Server if necessary. If the Remote Server is not running, issue the following command to start all processes including CAICCI:

    unistart all

    If you modified the ccirmtd.prf file (Step 2), and the Remote Server is active, issue the following command:

    unicycle all

    This command stops and starts all Unicenter processes.

  5. Issue the following command to verify that CAICCI has established communications:

    $CAIGLBL0000/cci/bin/ccii

    The ccii command displays the CAICCI applications that are available. If Unicenter services have not been started, no entries are displayed for the local machine.

    Following is an example of the output of this command:

    Oid(SCHLAP2,CAI_OPR_SAFD ) Did( , ) type(L)Oid(SCHLAP2,CAU9SET SetUp Mgr ) Did( , ) type(L)
    Oid(SCHLAP2,SUBMITC Server ) Did( , ) type(L)
    Oid(A44SENF,W410_SPAWN_SERVER ) Did( , ) type(R)
    Oid(A44SENF,MVS_START_SERVER ) Did( , ) type(R)
    Oid(A44SENF,CA7XE44 Server ) Did( , ) type(R)
    Oid(A44SENF,BARRYNT2.A44SENFUL2 ) Did( , ) type(R)
    Oid(A44SENF,CA7XE44 Job track ) Did( , ) type(R)

    In this example, the lines with the A44SENF entries indicate that the CAICCI connection has been made to a mainframe. SCHLAP2 is the UNIX machine where UJMA is installed.