fi
}
-detect_active() {
- local facet=$1
- [ "$CLIENTONLY" ] && echo $facet && return
-
- local failover=$(facet_failover_host $facet)
-
- # failover is not associated with all facet types:
- # "AGT" facet type (remote HSM agents) does not
- # have a failover.
- [[ -z "$failover" ]] && echo $facet && return
-
- local host=$(facet_host $facet)
- local dev=$(facet_device $facet)
-
- # ${facet}_svc can not be used here because of
- # facet_active() is called before this var initialized
- local svc=$(do_node $host $E2LABEL ${dev})
-
- # active facet is ${facet}failover if device is mounted on failover
- # on other cases active facet is $facet
- [[ $dev = $(do_node $failover \
- lctl get_param -n *.$svc.mntdev 2>/dev/null) ]] &&
- echo ${facet}failover && return
-
- echo $facet
-}
-
-init_active() {
- local facet=$1
-
- local active=$(detect_active $facet)
- echo "${facet}active=$active" > $TMP/${facet}active
-}
-
facet_active() {
- local facet=$1
- local activevar=${facet}active
+ local facet=$1
+ local activevar=${facet}active
- # file is missing (nothing to store) if fail() is not
- # executed during this test session yet;
- # file content:
- # ost1active=ost1failover
- # ost1active=ost1
- # let's detect active facet based on current lustre state
- if [ ! -f $TMP/${facet}active ] ; then
- init_active $facet
- fi
- source $TMP/${facet}active
+ if [ -f $TMP/${facet}active ] ; then
+ source $TMP/${facet}active
+ fi
- # is ${facet}active set somewhere else?
- active=${!activevar}
- [[ -z "$active" ]] && exit 1
- echo -n ${active}
+ active=${!activevar}
+ if [ -z "$active" ] ; then
+ echo -n ${facet}
+ else
+ echo -n ${active}
+ fi
}
facet_active_host() {
## MountConf setup
stopall() {
+ # make sure we are using the primary server, so test-framework will
+ # be able to clean up properly.
+ activemds=`facet_active mds1`
+ if [ $activemds != "mds1" ]; then
+ fail mds1
+ fi
+
local clients=$CLIENTS
[ -z $clients ] && clients=$(hostname)