NonStop Software

The nsdstart Source File

Previous Topic | Next Topic | Contents | Index
Getting Started Guide | Programmer's Guide | Reference Guide

nsdstart Source

The distribution nsdstart file:

#! /bin/sh
# Script for starting the NSDOM pathway environment
#
# Usage:
#     nsdstart [-v]
# The "nsdstart" script will start the NSDOM pathway environment.
# The comm server, location service demon, name service, and
# event service processes are started.  If the -v option is 
# used with this script you will see the pathway configuration
# command output.  Otherwise the pathcom status messages are
# redirected to a file.
#
#
# (C) Copyright 1998 Tandem
#

# Pathway Process and Server names.
export PATHMON="$MY_PREFIX"NDM 
COM_SERVER1="$MY_PREFIX"NCA
COM_SERVER2="$MY_PREFIX"NCB
NAME_SERVER="$MY_PREFIX"ND0

# Get -v option if supplied
while getopts ":v" opt; do
   case $opt in
     v ) VERBOSE="-v" ;;
     \? ) print "usage: nsdstart [-v]"
     return 1
   esac
done
shift $(($OPTIND - 1))

# Set G_HOMETERM to the terminal identifier on which standard
# output is displayed.
if [[ -z "$HOMETERM" ]] then
    # HOMETERM variable was not set explicitly, construct
    # the Guardian form of the home terminal identifier
    #
    # Get information about current terminal
    ID=$(who -m)
    # Strip off user name
    TEMP=${ID#*\ }
    # Get the terminal name
    set -A O_HOMETERM $TEMP
    # Get tcp process name
    TEMP=${TEMP##*/G/}
    TCP_PROCESS=${TEMP%%/*}
    # Get Guardian form of home terminal
    G_HOMETERM=\$$TCP_PROCESS.${O_HOMETERM##*/}
else
    G_HOMETERM=\$ZTNT.$HOMETERM
fi
[[ -n $VERBOSE ]] && print "Standard output will appear on $G_HOMETERM"

# Start a PATHMON envionment for the NSDOM processes:
# 1. Get "default" volume name.  This is where the PATHCTL file is 
#    created by PATHMON.  We'll create the PATHMON log file there as well.
# 2. Blindly create the PATHMON log file.  If it is already there, ignore
#    the error.
# 3. Start the PATHMON process
PMLOG=$(info_define -detail =_DEFAULTS | awk '/VOLUME/ {print $3}').${PATHMON}LOG
gtacl -c "fup create $PMLOG" > /dev/null 2>&1
gtacl -c "pathmon/name \$$PATHMON,nowait,out $PMLOG/"
sleep 1

# Configure the pathway server pool.
# The command line below turns into something similar to either:
#    gtacl -p pathcom $XNDM << eof
# or
#    gtacl -p pathcom $XNDM > pathcom.log << eof
# depending on whether the "verbose" option was passed to this script.
# This causes the chatty pathcom output to sent to a file under normal
# circumstances.  If one wants to see the pathcom input, use the -v
# option when invoking this shell script.
[[ -z $VERBOSE ]] && USELOG=TRUE
eval gtacl -p pathcom \\\$${PATHMON} ${USELOG:+"> $MY_ROOT/log/pathcom.log"} <<eof
    set pathway maxassigns          8
    set pathway maxparams           8
    set pathway maxserverclasses    5
    set pathway maxserverprocesses 40
    set pathway maxstartups        40
    set pathway maxtcps             0
    set pathway maxterms            0
    set pathway maxdefines         27
    set pathway maxpathcoms         8
    set pathway maxspi              8
    set pathway maxlinkmons        16
    set pathway maxexternaltcps     0
    set pathway maxprograms         5

    start pathway cold !

[ configure LSD

    reset server

    set server processtype oss
    set server pri         150
    set server cwd         $MY_ROOT
    set server program     $NSD_ROOT/bin/lsd
   
    set server hometerm $G_HOMETERM
    set server stdin /dev/null
    set server stdout $MY_ROOT/log/lsd.out
    set server stderr $MY_ROOT/log/lsd.out

    [ set server debug on
    [ set server env NSDOM_CFG_TRACE_ORB=TRUE
    [ set server env NSDOM_CFG_TRACE_GIOP_FW=TRUE
    [ set server env NSDOM_CFG_TRACE_SOCKEH=TRUE

    set server env NSDOM_CFG_DBM=$NSDOM_CFG_DBM
    set server env MY_PREFIX=$MY_PREFIX
    set server define =_SRL_01, class map, file $NSD_SRL_SUBVOL.NSDSRL

    set server createdelay  0 secs
    set server deletedelay  0 secs
    set server TIMEOUT      0 SECS
    set server MAXLINKS    16
    set server LINKDEPTH    1

    set server maxservers 1
    set server numstatic  1
    set server cpus (1,2)

    set server AUTORESTART 10
    set server arglist "-ORBprofile", "lsd1"
    add server LSD
    start server LSD

[ configure comm server(s)

    reset server

    set server processtype oss
    set server pri         150
    set server cwd         $MY_ROOT
    set server program     $NSD_ROOT/bin/cs
   
    set server hometerm $G_HOMETERM
    set server stdin /dev/null
    set server stdout $MY_ROOT/log/cs.out
    set server stderr $MY_ROOT/log/cs.out

    [ set server debug on
    [ set server env NSDOM_CFG_TRACE_CS=TRUE
    [ set server env NSDOM_CFG_TRACE_SOCKEH=TRUE
    [ set server env NSDOM_CFG_TRACE_GFSEH=TRUE
    [ set server env NSDOM_CFG_TRACE_GCFEH=TRUE

    set server env NSDOM_CFG_DBM=$NSDOM_CFG_DBM
    set server define =_SRL_01, class map, file $NSD_SRL_SUBVOL.NSDSRL

    set server createdelay  0 secs
    set server deletedelay  0 secs
    set server TIMEOUT      0 SECS
    set server MAXLINKS    16
    set server LINKDEPTH    1

    set server maxservers 2
    set server numstatic  2
    set server process    \$$COM_SERVER1 (cpus 1:2)
    set server process    \$$COM_SERVER2 (cpus 2:1)

    set server AUTORESTART 10
    add server CS
    start server CS

[ configure naming service

    reset server

    set server processtype oss
    set server pri         150
    set server cwd         $MY_ROOT
    set server program     $NSD_ROOT/bin/name_servant
   
    set server hometerm $G_HOMETERM
    set server stdin /dev/null
    set server stdout $MY_ROOT/log/ns.out
    set server stderr $MY_ROOT/log/ns.out

    [ set server debug on
    [ set server env NSDOM_CFG_TRACE_POA=TRUE
    [ set server env NSDOM_CFG_TRACE_PROXY=TRUE
    [ set server env NSDOM_CFG_TRACE_ORB=TRUE
    [ set server env NSDOM_CFG_TRACE_GIOP_FW=TRUE
    [ set server env NSDOM_CFG_TRACE_GFSEH=TRUE
    [ set server env NSDOM_CFG_TRACE_GCFEH=TRUE

    set server env NSDOM_CFG_DBM=$NSDOM_CFG_DBM
    set server define =_SRL_01, class map, file $NSD_SRL_SUBVOL.NSDSRL

    set server createdelay   0 secs
    set server deletedelay  15 secs
    set server TIMEOUT      30 SECS
    set server MAXLINKS     16
    set server LINKDEPTH     4

    set server maxservers 4
    set server numstatic  2
[  the following process \$$NAME_SERVER will be used to support the file
[  system protocol access.
    set server process \$$NAME_SERVER (cpus 1:2)
    set server cpus (2:1,3:2,2:3)

    set server AUTORESTART 10
    set server arglist "-ORBprofile", "NS"
    add server NS
    start server NS

[ configure Event Service

    reset server

    set server processtype oss
    set server pri         150
    set server cwd         $MY_ROOT
    set server program     $NSD_ROOT/bin/EventService
   
    set server hometerm $G_HOMETERM
    set server stdin /dev/null
    set server stdout $MY_ROOT/log/es.out
    set server stderr $MY_ROOT/log/es.out

    [ set server debug on
    [ set server env NSDOM_CFG_TRACE_ES=TRUE

    set server env NSDOM_CFG_DBM=$NSDOM_CFG_DBM
    set server define =_SRL_01, class map, file $NSD_SRL_SUBVOL.NSDSRL

    set server createdelay  0 secs
    set server deletedelay  0 secs
    set server MAXLINKS    16
    set server LINKDEPTH    1

    set server maxservers 1
    set server numstatic  1
    set server cpus (1,2)

    set server AUTORESTART 10
    set server arglist "-ORBprofile", "event_service"
    add server ES
    start server ES

eof

if [[ -z $VERBOSE ]]; then
   # "verbose" option is off, indicate whether there with pathcom errors
   grep -q -i error $MY_ROOT/log/pathcom.log
   if [[ $? -eq 0 ]] then
      print "Error in starting pathcom, refer to $MY_ROOT/log/pathcom.log for information"
   else
      print "NSDOM runtime environment was started."
   fi
fi

Previous Topic | Next Topic | Contents | Top
Getting Started Guide | Programmer's Guide | Reference Guide
Bibliography | Glossary | Index
© Tandem, a division of Compaq. All rights reserved. Legal notices.