DSH=${DSH:-"ssh"}
+NETTYPE=${NETTYPE:-tcp}
dsh () {
local node="$1"
}
# returns the device number which is displayed in "lctl device_list"
-#
+#
# parameter: 1. hostname
# 2. type of device ex: echo_client
# 3. name of device ex: ECHO_matrix.linsyssoft.com
cleanup_netdisk () {
for osc in $@; do
$lctl <<EOF
- cfg_device $osc
+ cfg_device $osc
cleanup
detach
EOF
cleanup_network () {
local clean_srv_OSS=$1
$lctl <<EOF
- cfg_device echotmp
+ cfg_device echotmp
cleanup
detach
EOF
local exit_status=$1
shift
for ((i = 0; i < $ndevs; i++)); do
- host=${host_names[$i]}
- if [ -n ${do_teardown_ec[$i]} ]; then
- teardown_ec_devno $host ${client_names[$i]}
- fi
+ host=${host_names[$i]}
+ if [ -n ${do_teardown_ec[$i]} ]; then
+ teardown_ec_devno $host ${client_names[$i]}
+ fi
done
pidcount=0
for host in ${unique_hosts[@]}; do
fi
done
if [ $case == "network" ]; then
- cleanup_network $1
+ cleanup_network $1
fi
if [ $case == "netdisk" ]; then
- shift
+ shift
cleanup_netdisk $@
fi
if [ $exit_status ]; then
trap cleanup SIGHUP SIGINT SIGTERM
# gets echoclient device number and attach it to the client UUID
-#
+# Results are returned by an echo followed by an exit
+# This must run in a subshell.
+#
# parameter: 1. hostname
-# 2. client name, ex:- ns8:ECHO_ns8
-# 3. name of ost instances, ex:- lustre-OST0001
+# 2. client name, ex:- ns8:ECHO_ns8
+# 3. name of ost instances, ex:- lustre-OST0001
get_ec_devno () {
+ exec 8>&1 1>&2
local host=$1
local client_name="$2"
local ost_name="$3"
if [ -z "$client_name" ]; then
- if [ -z "$ost_name" ]; then
- echo "client and ost name both null" 1>&2
- return
- fi
+ if [ -z "$ost_name" ]; then
+ echo "client and ost name both null"
+ exit 1
+ fi
client_name=${ost_name}_ecc
fi
ec=`get_devno $host echo_client $client_name`
if [ -n "$ec" ]; then
- echo $ec $client_name $client_name
- return
+ echo $ec $client_name $client_name >&8
+ exit 0
fi
if [ -z "$ost_name" ]; then
- echo "no echo client and ost_name not set, client: $client_name, host: $host" 1>&2
- return
+ echo "no echo client and ost_name not set, client:" \
+ "$client_name, host: $host"
+ exit 1
fi
ost=`get_devno $host obdfilter $ost_name`
if [ -z "$ost" ]; then
- echo "OST $ost_name not setup" 1>&2
- return
+ echo "OST $ost_name not setup"
+ exit 1
fi
client_name=${ost_name}_ecc
remote_shell $host "$lctl <<EOF
attach echo_client $client_name ${client_name}_UUID
- setup $ost_name
+ setup $ost_name
EOF"
ec=`get_devno $host echo_client $client_name`
if [ -z "$ec" ]; then
- echo "Can't setup echo-client" 1>&2
- return
+ echo "Can't setup echo-client"
+ exit 1
fi
- echo $ec $client_name 1
+ echo $ec $client_name 1 >&8
+ exit 0
}
# Create echo-clients using osc_names and osc_uuid
local server_nid=$1
local ocsname=$2
local oscuuid=$3
- $lctl add_uuid echo_UUID $server_nid@tcp >/dev/null 2>&1
+ $lctl add_uuid echo_UUID $server_nid@$NETTYPE >/dev/null 2>&1
$lctl <<EOF
attach osc $ocsname $oscuuid
cfg_device $ocsname
EOF
$lctl <<EOF
attach echo_client ${ocsname}_ecc $oscuuid
- setup $ocsname
+ setup $ocsname
EOF
}
local ost_nid=$1
local obdfilter_name=$2
local host_name=host_$3
- $lctl add_uuid ${host_name}_UUID $ost_nid@tcp >/dev/null 2>&1
+ $lctl add_uuid ${host_name}_UUID $ost_nid@$NETTYPE >/dev/null 2>&1
$lctl <<EOF
attach osc ${obdfilter_name}_osc ${obdfilter_name}_osc_UUID
- cfg_device ${obdfilter_name}_osc
+ cfg_device ${obdfilter_name}_osc
setup ${obdfilter_name}_UUID ${host_name}_UUID
EOF
}
# cleanup and detach the echo-clients that we have created during the test.
# parameter: 1. hostname
-# 2. client name, ex:- ns8:ECHO_ns8
+# 2. client name, ex:- ns8:ECHO_ns8
teardown_ec_devno () {
local host=$1
local client_name=$2
remote_shell $host "$lctl <<EOF
- cfg $client_name
- cleanup
- detach
+ cfg $client_name
+ cleanup
+ detach
EOF"
}
local name=$1
case $name in
*:*) host=`echo $name | sed 's/:.*$//'`
- name=`echo $name | sed 's/[^:]*://'`
- ;;
+ name=`echo $name | sed 's/[^:]*://'`
+ ;;
*) host=localhost
- ;;
+ ;;
esac
echo "$host $name"
}
for name in $osc_names_str; do
count=$((count+1))
done
-
+
if [ $count != 0 ]; then
echo "$type_obj could not be cleanup";
exit 0;
- fi
+ fi
}