#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG 
# This is an automatically generated prolog. 
#  
# 61haes_r714 src/43haes/usr/sbin/cluster/utilities/cllsdisktypes.sh 1.3 
#  
# Licensed Materials - Property of IBM 
#  
# COPYRIGHT International Business Machines Corp. 1999,2004 
# 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 
# @(#)37	1.3 src/43haes/usr/sbin/cluster/utilities/cllsdisktypes.sh, hacmp.cspoc, 61haes_r714 2/20/04 10:51:38

#############################################################################
#
# Desription
#
# 	Checks for accessibility to all nodes.  If all are accessible,
#	returns list of all defined disk types on the first accessible node 
#
# Args
#
#	Comma-separated list of node names
#
# Returns
#
#	0 List of disktypes retrieved from a node
#	1 Error
#	2 Usage error
#
#############################################################################
PATH="$($(dirname ${0})/../utilities/cl_get_path all)"
CMD_NAME=`basename $0`

NODENAMES="$*"
NODENAMES_WITH_SPACE=`echo $NODENAMES | sed 's/,/ /g'`

if [ -z "$NODENAMES_WITH_SPACE" ]
then
    cl_echo 5300 "Usage: cllsdisktypes nodename1 [nodename 2...]"
    exit 2
fi

STATUS=0
for NODE in $NODENAMES_WITH_SPACE
do
    ADDRESS=`clgetaddr $NODE 2>/dev/null`
    if [ $? -ne 0 ]
    then
	cl_echo 5301 "$CMD_NAME Node: $NODE is not reachable.  Please check rhosts entries." $CMD_NAME $NODE
	STATUS=1
    fi
done

if [ $STATUS -eq 1 ]
then
    exit 1
fi

for NODE in $NODENAMES_WITH_SPACE
do
    ADDRESS=`clgetaddr $NODE 2>/dev/null`
    cl_rsh $ADDRESS "lsdev -P -c disk -F 'type subclass description' | awk '! /mca/ && !/serdasdc/ && !/fcp/ && !/ide/' -" 2>/dev/null
    if [ $? -eq 0 ]
    then
	exit 0
    fi
done

# Unsuccessful
exit 1
