diff --git a/tool_show_good_nodes.sh b/tool_show_good_nodes.sh new file mode 100755 index 000000000..225555420 --- /dev/null +++ b/tool_show_good_nodes.sh @@ -0,0 +1,44 @@ +#/bin/bash + +function join_by() { + local IFS="$1"; shift; echo "$*"; +} + +cx4nodes=( isc17-c0{1..9} isc17-c{10..23} ) +node_list=$( join_by , "${cx4nodes[@]}" ) + + +IFS='' read -r -d '' script <<"EOF" +if [ -d /esfs/jtacquaviva ]; then + cx4="$(lspci | grep ConnectX-4)" + if [[ "" != $cx4 ]]; then + echo 'ok' + else + echo "no cx4" + fi +else + echo "/esfs/ is not mounted" +fi +EOF + +declare -a good_nodes +for node in ${cx4nodes[@]}; do + #echo "ping $node" + status=$(ping -c1 $node | grep Unreachable) + if [[ "" == $status ]]; then + check=$(ssh $node "$script") + if [[ "ok" == ${check} ]]; then + good_nodes=( ${good_nodes[@]} $node ) + else + echo "$node failed with: $check" + fi + else + echo "$node is unreachable" + fi +done + +echo "GOOD NODES:" +echo "${good_nodes[@]}" + + +