Whamcloud - gitweb
b=13297
[fs/lustre-release.git] / lustre / tests / replay-dual.sh
index 2f16467..c0a9fe4 100755 (executable)
@@ -2,27 +2,36 @@
 
 set -e
 
-# bug number:  13129 13129 6088 10124 
-ALWAYS_EXCEPT="2     3     8    15c   $REPLAY_DUAL_EXCEPT"
+# bug number:  13129 13129 10124 
+ALWAYS_EXCEPT="2     3     15c   $REPLAY_DUAL_EXCEPT"
 
 SAVE_PWD=$PWD
 PTLDEBUG=${PTLDEBUG:--1}
-LUSTRE=${LUSTRE:-`dirname $0`/..}
+LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
 SETUP=${SETUP:-""}
 CLEANUP=${CLEANUP:-""}
 MOUNT_2=${MOUNT_2:-"yes"}
 . $LUSTRE/tests/test-framework.sh
 
+if [ "$FAILURE_MODE" = "HARD" ] && mixed_ost_devs; then
+    CONFIG_EXCEPTIONS="17"
+    echo -n "Several ost services on one ost node are used with FAILURE_MODE=$FAILURE_MODE. "
+    echo "Except the tests: $CONFIG_EXCEPTIONS"
+    ALWAYS_EXCEPT="$ALWAYS_EXCEPT $CONFIG_EXCEPTIONS"
+fi
+
 init_test_env $@
 
 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
 
-#
+remote_mds_nodsh && skip "remote MDS with nodsh" && exit 0
+
 [ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 5 14"
 
 build_test_filter
 
 cleanup_and_setup_lustre
+assert_DIR
 rm -rf $DIR/[df][0-9]*
 
 [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
@@ -255,7 +264,7 @@ test_14() {
 }
 run_test 14 "timeouts waiting for lost client during replay"
 
-test_15() {
+test_15a() {   # was test_15
     replay_barrier $SINGLEMDS
     createmany -o $MOUNT1/$tfile- 25
     createmany -o $MOUNT2/$tfile-2- 1
@@ -270,72 +279,7 @@ test_15() {
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
     return 0
 }
-run_test 15 "timeout waiting for lost client during replay, 1 client completes"
-
-test_15a() {
-    local ost_last_id=""
-    local osc_last_id=""
-    
-    replay_barrier $SINGLEMDS
-    echo "data" > "$MOUNT2/${tfile}-m2"
-
-    umount $MOUNT2
-    facet_failover $SINGLEMDS
-    df $MOUNT || return 1
-    
-    ost_last_id=`lctl get_param -n obdfilter.*.last_id`
-    mds_last_id=`lctl get_param -n osc.*mds*.last_id`
-    
-    echo "Ids after MDS<->OST synchonizing"
-    echo "--------------------------------"
-    echo "MDS last_id:"
-    echo $mds_last_id
-    echo "OST last_id:"
-    echo $ost_last_id
-
-    local i=0
-    echo $ost_last_id | while read id; do
-       ost_ids[$i]=$id
-       ((i++))
-    done
-    
-    i=0
-    echo $mds_last_id | while read id; do
-       mds_ids[$i]=$id
-       ((i++))
-    done
-    
-    local arr_len=${#mds_ids[*]}
-    for ((i=0;i<$arr_len;i++)); do
-           mds_id=${mds_ids[i]}
-           ost_id=${ost_ids[i]}
-           
-           test $mds_id -ge $ost_id || {
-               echo "MDS last id ($mds_id) is smaller than OST one ($ost_id)"
-               return 2
-           }
-    done
-
-    zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
-    return 0
-}
-#CROW run_test 15a "OST clear orphans - synchronize ids on MDS and OST"
-
-test_15b() {
-    replay_barrier $SINGLEMDS
-    echo "data" > "$MOUNT2/${tfile}-m2"
-    umount $MOUNT2
-
-    do_facet ost1 "lctl set_param fail_loc=0x80000802"
-    facet_failover $SINGLEMDS
-
-    df $MOUNT || return 1
-    do_facet ost1 "lctl set_param fail_loc=0"
-    
-    zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
-    return 0
-}
-#CROW run_test 15b "multiple delayed OST clear orphans"
+run_test 15a "timeout waiting for lost client during replay, 1 client completes"
 
 test_15c() {
     replay_barrier $SINGLEMDS
@@ -373,6 +317,8 @@ test_16() {
 run_test 16 "fail MDS during recovery (3571)"
 
 test_17() {
+    remote_ost_nodsh && skip "remote OST with nodsh" && return 0
+
     createmany -o $MOUNT1/$tfile- 25
     createmany -o $MOUNT2/$tfile-2- 1