#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/lib/ksh93/hacmp/KLIB_HACMP_discover_nodes.sh 1.5 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2005,2012 # 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 # @(#)98 1.5 src/43haes/lib/ksh93/hacmp/KLIB_HACMP_discover_nodes.sh, hacmp.assist, 61haes_r714 6/10/12 15:11:45 # Start of POD-formatted documentation. Viewing suggestions: # perldoc # pod2text -c # pod2text -c --code # pod2html function devDoc { : <<'=cut' >/dev/null 2>&1 =head1 NAME KLIB_HACMP_discover_nodes =head1 VERSION Version Number: 1.5 Last Extracted: 1/31/14 04:40:14 Last Changed: 6/10/12 15:11:45 Path, Component, Release(, Level): src/43haes/lib/ksh93/hacmp/KLIB_HACMP_discover_nodes.sh, hacmp.assist, 61haes_r714 =head1 SYNOPSIS KLIB_HACMP_discover_nodes =head1 DESCRIPTION Using communication paths add nodes to the cluster definition. This routine will also define the cluster if no cluster definition is available. If the name of the cluster passed in does not match the actual configuration cluster name, then this function uses the existing cluster name =head1 ARGUMENTS 1. cluster_name [OPTIONAL] [string] The name to use for the cluster if no cluster is defined. 2. NODES [REQUIRED] [string ref] A list containing the nodes to add to the cluster. =head1 RETURN 0: no errors were detected; the operation appears to have been successful 1: a general error has occurred 2: a specified resource does not exist, or could not be found 3: some required input was missing 4: some detected input was incorrect in some way 5: a required dependency does not exist 6: a specified search failed to match any data =head1 COPYRIGHT COPYRIGHT International Business Machines Corp. 2005,2010 All Rights Reserved =cut } # End of POD-formatted documentation. function KLIB_HACMP_discover_nodes { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" : version=1.5, src/43haes/lib/ksh93/hacmp/KLIB_HACMP_discover_nodes.sh, hacmp.assist, 61haes_r714 : INPUTS: $* cluster_name=${1//\"/} typeset -n NODES=$2 [[ $CLMGR_LOGGING == 'med' ]] && set +x # Only trace param values #=================================== : Declare and initialize variables #=================================== typeset -i found=0 typeset -i rc=$RC_UNKNOWN typeset cluster_name= node= addnode= #============================================== : Check to see if the cluster name is already : defined. If so, use that name. #============================================== existing_cluster_name=$(CL=$LINENO KLIB_HACMP_get_cluster_name) if [[ -n $existing_cluster_name ]]; then cluster_name=$existing_cluster_name fi for node in $NODES; do CL=$LINENO KLIB_HACMP_is_known_node $node >/dev/null 2>&1 (( $? != RC_SUCCESS )) && addnode="$addnode $node" done if [[ -n $addnode ]]; then print -- "$0()[$LINENO]($SECONDS): $HAUTILS/clmodclstr -n \"$cluster_name\" -p \"$addnode\"" >>$CLMGR_TMPLOG # Always log commands $HAUTILS/clmodclstr -n "$cluster_name" -p "$addnode" >/dev/null 2>>$CLMGR_TMPLOG rc=$? print "clmodclstr RC: $rc" >>$CLMGR_TMPLOG # Always log command result fi for node in $NODES; do if [[ $(CL=$LINENO KLIB_HACMP_is_known_node $node) ]]; then AVAILABLE_NODES="$AVAILABLE_NODES $node" fi done print -- $AVAILABLE_NODES log_return_msg "$rc" "$0()" "$LINENO" return $? } # End of "KLIB_HACMP_discover_nodes()"