#!/bin/ksh -p # $Id: //depot/dev/proactive/explorer3/tools/ssp#13 $ # Source tools functions . ${EXP_LIB}/exp_tools # Run if specified to do so script=`basename $0` which_gate_exit starfire $script default all TEXT=`gettext "Not an SSP system"` require "test -d /var/opt/SUNWssp" "${TEXT}" # set env for System Service Processor, so root can run the command sys_id -d etc. SSPBIN=/opt/SUNWssp/bin PATH=$PATH:${SSPBIN} SSPETC=/etc/opt/SUNWssp SSPOPT=/opt/SUNWssp SSPVAR=/var/opt/SUNWssp SSPLOGGER=/var/opt/SUNWssp/adm LD_LIBRARY_PATH=/opt/SUNWssp/lib:/usr/openwin/lib:/usr/lib TCL_LIBRARY=/opt/SUNWssp/library/tcl TK_LIBRARY=/opt/SUNWssp/library/tk SCOTTY_LIBRARY=/opt/SUNWssp/library/scotty TCLLIBPATH="/opt/SUNWssp/library/tcl /opt/SUNWssp/library/tk /opt/SUNWssp/library/scotty" export PATH SSPETC SSPOPT SSPVAR SSPLOGGER LD_LIBRARY_PATH SUNW_HOSTNAME export TCL_LIBRARY TK_LIBRARY SCOTTY_LIBRARY TCLLIBPATH SSP_PRIVATE=${SSPVAR}/.ssp_private SUNW_HOSTNAME=`cut -d: -f1 ${SSP_PRIVATE}/cb_config` INITTAB=${INITTAB:-/etc/inittab} get_file "~ssp/.postrc" ssp/postrc! get_file "${SSPVAR}/ssp_backup.out" ssp/ get_file "${SSPVAR}/ssp_restore.out" ssp/ get_file "${SSPVAR}/ds_backup.out" ssp/ get_file "${SSPVAR}/ds_restore.out" ssp/ get_file "$SSP_PRIVATE/cb_config" ssp/ get_file "$SSP_PRIVATE/domain_config" ssp/ get_file "$SSP_PRIVATE/ssp_resource" ssp/ get_file "$SSP_PRIVATE/ssp_to_domain_hosts" ssp/ get_file "$SSP_PRIVATE/main_ssp_name" ssp/ get_file "/var/tmp/autoconfig.log" ssp/ get_dir recursive ${SSPVAR}/adm ssp/SUNWssp-adm get_dir recursive ${SSPVAR}/etc ssp/SUNWssp-etc get_dir recursive ${SSPVAR}/data ssp/SUNWssp-data get_cmd "${SSPBIN}/domain_status" ssp/domain_status get_cmd "${SSPBIN}/showfailover" ssp/ # # Check if we are on the main or spare ssp # Check domain_status first, then look in inittab (pre-3.1.1) or # check for S99ssp (3.1.1) because S99ssp might be called something else # domain_status 2>&1 | egrep -s -e "domain_status: This command must run on the main SSP." if [ "$?" = 1 ]; then SSP_STATION=main elif egrep -s -e "^sp:234:respawn:.*ssp_startup.sh" $INITTAB then SSP_STATION=main elif [ -r /etc/rc2.d/S99ssp ] then SSP_STATION=main else SSP_STATION=spare fi # if we are on the main run the following if [ "${SSP_STATION}" = "main" ] then PLATFORM=`nawk -F: '{print $1}' $SSP_PRIVATE/cb_config` # Get long listing of /tftpboot get_cmd "/usr/bin/ls -lia /tftpboot" ssp/ls-lia_tftpboot # get platform config/tuning data (blacklist) get_dir "$SSPVAR/etc/$PLATFORM" ssp/etc/${PLATFORM} # now get platform configuration/status info get_cmd "${SSPBIN}/fan" ssp/fan get_cmd "${SSPBIN}/power" ssp/power get_cmd "${SSPBIN}/sys_clock" ssp/sys_clock get_cmd "${SSPBIN}/hostinfo -F" ssp/hostinfo/hostinfo-F get_cmd "${SSPBIN}/hostinfo -S" ssp/hostinfo/hostinfo-S get_cmd "${SSPBIN}/hostinfo -h" ssp/hostinfo/hostinfo-h get_cmd "${SSPBIN}/hostinfo -p" ssp/hostinfo/hostinfo-p get_cmd "${SSPBIN}/hostinfo -t" ssp/hostinfo/hostinfo-t # new get system board && i/o module details from the platform for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 do get_cmd "${SSPBIN}/board_id -b io -n $i" ssp/board_id/board_id-bio_$i sleep 10 get_cmd "${SSPBIN}/board_id -b mem -n $i" ssp/board_id/board_id-bmem_$i sleep 10 get_cmd "${SSPBIN}/board_id -b sb -n $i" ssp/board_id/board_id-bsb_$i sleep 10 # For compatibility, put all command output in summary files echo_file ssp/board_id/board_id-bio.out "i/o board ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bio_$i.out | echo_file ssp/board_id/board_id-bio.out echo_file ssp/board_id/board_id-bmem.out "memory board ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bmem_$i.out | echo_file ssp/board_id/board_id-bmem.out echo_file ssp/board_id/board_id-bsb.out "system board ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bsb_$i.out | echo_file ssp/board_id/board_id-bsb.out done # new get some control board details from the platform for i in 0 1 do get_cmd "${SSPBIN}/board_id -b cb -n $i" ssp/board_id/board_id-bcb_$i sleep 10 get_cmd "${SSPBIN}/board_id -b csb -n $i" ssp/board_id/board_id-bcsb_$i sleep 10 get_cmd "${SSPBIN}/board_id -b cp -n $i" ssp/board_id/board_id-bcp_$i sleep 10 # For compatibility, put all command output in summary files echo_file ssp/board_id/board_id-bcb.out "control board ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bcb_$i.out | echo_file ssp/board_id/board_id-bcb.out echo_file ssp/board_id/board_id-bcsb.out "centerplane support board ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bcsb_$i.out | echo_file ssp/board_id/board_id-bcsb.out echo_file ssp/board_id/board_id-bcp.out "centerplane ${i}\n" cat ${EXP_TARGET}/ssp/board_id/board_id-bcp_$i.out | echo_file ssp/board_id/board_id-bcp.out done # get the prom info for each cb for i in `nawk -F: '{print $3" "$5}' $SSP_PRIVATE/cb_config` do echo_file ssp/cb_prom-r.out "\nControl Board ${i}" get_cmd "${SSPBIN}/cb_prom -r -h $i" ssp/cb_prom-r done # Get domain data for i in `nawk -F: '{print $1}' $SSP_PRIVATE/domain_config` do SUNW_HOSTNAME=$i export SUNW_HOSTNAME # Do sys_id -d get_cmd "${SSPBIN}/sys_id -d" "ssp/sys_id-d.domain/${SUNW_HOSTNAME}" # Get domain config/tuning data (postrc) get_dir "${SSPVAR}/etc/${PLATFORM}/${SUNW_HOSTNAME}" "ssp/etc/${SUNW_HOSTNAME}" # Do check_host echo_file ssp/check_host.out "\nDomain ${SUNW_HOSTNAME}" get_cmd "${SSPBIN}/check_host" ssp/check_host done fi