#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/cspoc/utilities/cli_on_cluster.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)31 1.1 src/43haes/usr/sbin/cluster/cspoc/utilities/cli_on_cluster.sh, hacmp.cspoc, 61haes_r714 12/8/03 16:39:50 ############################################################################### # # COMPONENT_NAME: CSPOC Command Line Interface # # Name: # cli_on_cluster # # Description: # Use C-SPOC to run the cli_on_cluster command with the given parameters # Runs a given command on all cluster nodes # # Arguments: # [-S|-P] 'command string' # [-S|-P] serial or parallel processing # # Setting the environment variable _DEBUG to 1 -> 9 turns on levels of # C-SPOC debugging # # Return Values: # As set by cl_on_cluster # # Notes: # The '-f' flag is passed on cl_on_cluster to surpress unnecessary checking. # As a consequence, the operation will proceed even if not all nodes are # accessable # ################################################################################ typeset DEBUG # # Variables needed by cl_on_cluster # _CSPOC_MODE - working with shared (as opposed to concurrent) volume # groups # _CSPOC_CALLED_FROM_SMIT - can skip checks on input # export _CSPOC_MODE="shared" export _CSPOC_CALLED_FROM_SMIT="true" # Ensure correct invocation echo $* | read flag command if [[ -z $flag || -z $command ]] || [[ $1 != '-S' && $1 != '-P' ]] ; then USAGE=$(dspmsg -s 9 cspoc.cat 555 'Usage: cli_on_cluster [-S|-P] command') print $USAGE exit 1 fi # # If a _DEBUG value has been set, pass it through # if [[ -n $_DEBUG ]] ; then # # The debug level is a number, 1 through 9. Those values are passed # through. Anything else is turned into '1' # integer dbg_level=$_DEBUG if (( $dbg_level < 10 && $dbg_level >= 1 )) ; then DEBUG="-d $_DEBUG" else DEBUG="-d 1" fi fi # # Construct the node list. This is a comma separated, quote delimited list # of all the nodes in the cluster. # export _NODE_LIST=$(odmget -q "object = VERBOSE_LOGGING" HACMPnode | \ grep 'name =' | cut -f2 -d'"' | paste -s -d ',' -) # # Invoke the cspoc code to create the file system and make it known across # the cluster # /usr/es/sbin/cluster/sbin/cl_on_cluster -cspoc "-f $DEBUG -n $_NODE_LIST" $flag "$command" return $?