Configuration

To run TJES, the environments of Tmax and TJES must be pre-configured. This chapter describes Tmax configuration required by TJES.

For more information about TJES configuration, refer to the tjes, tjesmgr, print, tjclrun and rc subjects in OpenFrame Configuration Guide.

1. Tmax Configuration

Tmax must be installed and configured before TJES can be run in OpenFrame. During the initial installation of OpenFrame, the Tmax environment is automatically configured with default values. To modify these initial configuration values, perform the following steps.

  1. Shut down the Tmax server.

    $ tmdown
  2. Reconfigure the environment variables in the "$TMAXDIR/config/XXX.m" file.

  3. Apply the changes.

    $ cfl -i $TMAXDIR/config/XXX.m
  4. Restart the Tmax server.

    $ tmboot

For more information about how to modify the XXX.m configuration file as previously mentioned, refer to Tmax Installation Guide.

1.1. Tmax Server

The following servers must be active to operate TJES:

  • TJES Server

    Server Name Role

    obmjschd

    JOB scheduler

    obmjinit

    JOB initiator

    obmjmsvr

    JOB manager

    obmjhist

    JOB history

    obmjspbk

    JOB SPOOL backup

    ofrpmsvr

    Printer manager

    obmtsmgr

    TSO job processing

    obmtscmd (optional)

    TSO command processing (obmtscmd is a server provided only in an environment using the ISPF service.)

  • TJES-related Servers

    Server Name Role

    ofrsasvr

    Security management

    ofrlhsvr

    Lock handle allocation

    ofruisvr

    User interface control server

    ofrcmsvr

    Console management

The TJES server and related servers are automatically configured when OpenFrame is installed.

The Tmax environment variables are described as follows:

obmjschd    SVGNAME = svg_domain,MIN = 1, MAX = 1, SVRTYPE=UCS,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmjinit    SVGNAME = svg_node1,MIN = 1, MAX = 1, SVRTYPE=UCS,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmjmsvr    SVGNAME = svg_node1,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmjhist    SVGNAME = svg_domain, MIN = 1, MAX = 1,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmjspbk    SVGNAME = svg_domain,   MIN = 1, MAX = 1,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

ofrpmsvr    SVGNAME = svg_domain,
            MIN = 1, MAX = 1, SVRTYPE=UCS,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmtsmgr    SVGNAME = svg_domain,   MIN = 1, MAX = 1, SVRTYPE=UCS,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

obmtscmd    SVGNAME = svg_node1,
            CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"

In the previous example, SVGNAME=svg_domain defines that the server runs on only one node. MIN=1 , MAX=1 means that only a single server must run. Therefore, one node and one server run obmjschd for all nodes, and each node and one server run obmjinit. Also, all nodes and several servers run obmjmsvr. You can configure MIN according to the site’s load condition. If not specified, the default is MIN= 1.

For more information about TJES-related servers, refer to OpenFrame Base Guide.

To ensure that the servers operate properly, perform the following steps.

  • Start the Tmax server

    $ tmboot
  • Check the servers status

    $ tmadmin
    $$1 node (tmadm): si

    The following screen shows whether the Tmax servers are operating properly. The server is operative if the status is RDY, or down if the status is NRDY.

    ------------------------------------------------------------------------
      clh   svrname    (svri)   status     count   qcount   qpcount  emcount
    ------------------------------------------------------------------------
        0   obmjmsvr   (  11)     RDY         0        0       0       0
        0   obmjschd   (  12)     RDY         0        0       0       0
        0   obmjinit   (  13)     RDY         1        0       0       0
        0   obmjhist   (  14)     RDY         0        0       0       0
        0   obmjspbk   (  15)     RDY         0        0       0       0
        0   ofrpmsvr   (  16)     RDY         0        0       0       0
        0   obmtsmgr   (  17)     RDY         0        0       0       0
        0   obmtscmd   (  18)     RDY         0        0       0       0
  • Shut down the Tmax server

    $ tmdown

    If the server is shown as NRDY with the tmadmin command, check the server log to determine why the server is in NRDY status. The server log is found in the $TMAXDIR/log/ulog directory of the Tmax server.

For more information about Tmax, refer to Tmax Administration Guide.

1.2. Multi Node Configuration

Operating TJES on a multi-node system requires some additional configuration settings as in the following. For reference, the Tmax configuration files for all nodes, within the same domain, must be identical.

The following example demonstrates how to implement TJES with multiple nodes, NODE1 and NODE2.

  1. Add nodes

    All nodes you want to configure as multi-nodes must be added as follows:

    *NODE
    DEFAULT:
        DOMAINNAME = "domofb"
    
    NODE1
        HOSTNAME = "tmaxof1",
        IP = "192.168.1.1",
        TMAXHOME = "$OPENFRAME_HOME/tmax",
        TMAXDIR = "$OPENFRAME_HOME/tmax",
        APPDIR = "$OPENFRAME_HOME/server",
        TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog",
        ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog",
        SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog",
        CLHOPT  = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err",
        TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450
    
    NODE2
        HOSTNAME = "tmaxof2",
        IP = "192.168.1.2",
        TMAXHOME = "$OPENFRAME_HOME/tmax",
        TMAXDIR = "$OPENFRAME_HOME/tmax",
        APPDIR = "$OPENFRAME_HOME/server",
        TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog",
        ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog",
        SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog",
        CLHOPT  = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err",
        TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450
  2. Modify [SVRGROUP] section

    The following modifications are needed for the [SVRGROUP] section: adding a server group for the new node, adding the COUSIN setting to operate the same server, and adding the BACKUP setting to svg_domain for fail-over.

    svg_domain
        NODENAME = "NODE1",BACKUP="svg_domain2"
    svg_domain2
        NODENAME = "NODE2"
    svg_node1
        NODENAME = "NODE1",COUSIN="svg_node2"
    svg_node2
        NODENAME = "NODE2"
  3. Add [ROUTING] section and state the ROUTING to service

    To configure a multi-node setup, several services use the data-driven routing function of Tmax. The data used in routing is the node name. The [SERVICE] section lists only the services to be modified.

    *ROUTING
    rt_nodename FIELD = "FIELD/FB_NODENAME",
                RANGES = "'NODE1':svg_node1,'NODE2':svg_node2,*:svg_node1"
    
    *SERVICE
    OBMJMSVRJDETAIL SVRNAME = obmjmsvr, ROUTING = rt_nodename
    OBMJINITCTLNODE SVRNAME = obmjinit, ROUTING = rt_nodename
    OBMJINITCTLJOB  SVRNAME = obmjinit, ROUTING = rt_nodename
    OBMJINITCTLINIT SVRNAME = obmjinit, ROUTING = rt_nodename
    OBMJINITRUN     SVRNAME = obmjinit, ROUTING = rt_nodename
    OBMJINITSTATUS  SVRNAME = obmjinit, ROUTING = rt_nodename
    OBMJINITCHECK   SVRNAME = obmjinit, ROUTING = rt_nodename