Whamcloud - gitweb
b=20580
[fs/lustre-release.git] / lustre / tests / insanity.sh
index 4d4f770..173c6ac 100755 (executable)
@@ -42,6 +42,7 @@ remote_ost_nodsh && skip "remote OST with nodsh" && exit 0
 FAIL_CLIENTS=$(echo " $FAIL_CLIENTS " | sed -re "s/\s+$LIVE_CLIENT\s+/ /g")
 
 DIR=${DIR:-$MOUNT}
+TESTDIR=$DIR/d0.$(basename $0 .sh)
 
 #####
 # fail clients round robin
@@ -111,29 +112,28 @@ client_touch() {
     file=$1
     for c in $LIVE_CLIENT $FAIL_CLIENTS;  do
        if echo $DOWN_CLIENTS | grep -q $c; then continue; fi
-       $PDSH $c touch $MOUNT/${c}_$file || return 1
+       $PDSH $c touch $TESTDIR/${c}_$file || return 1
     done
 }
 
 client_rm() {
     file=$1
     for c in $LIVE_CLIENT $FAIL_CLIENTS;  do
-       $PDSH $c rm $MOUNT/${c}_$file
+       $PDSH $c rm $TESTDIR/${c}_$file
     done
 }
 
 client_mkdirs() {
     for c in $LIVE_CLIENT $FAIL_CLIENTS;  do
-       echo "$c mkdir $MOUNT/$c"
-       $PDSH $c "mkdir $MOUNT/$c"
-       $PDSH $c "ls -l $MOUNT/$c" 
+       echo "$c mkdir $TESTDIR/$c"
+       $PDSH $c "mkdir $TESTDIR/$c && ls -l $TESTDIR/$c"
     done
 }
 
 client_rmdirs() {
     for c in $LIVE_CLIENT $FAIL_CLIENTS;  do
-       echo "rmdir $MOUNT/$c"
-       $PDSH $LIVE_CLIENT "rmdir $MOUNT/$c"
+       echo "rmdir $TESTDIR/$c"
+       $PDSH $LIVE_CLIENT "rmdir $TESTDIR/$c"
     done
 }
 
@@ -144,6 +144,9 @@ clients_recover_osts() {
 
 check_and_setup_lustre
 
+rm -rf $TESTDIR
+mkdir -p $TESTDIR
+
 # 9 Different Failure Modes Combinations
 echo "Starting Test 17 at `date`"
 
@@ -170,7 +173,7 @@ test_2() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
 
     shutdown_facet $SINGLEMDS
     reboot_facet $SINGLEMDS
@@ -179,7 +182,7 @@ test_2() {
     change_active $SINGLEMDS
     reboot_facet $SINGLEMDS
 
-    client_df &
+    clients_up &
     DFPID=$!
     sleep 5
 
@@ -197,7 +200,7 @@ test_2() {
     wait $DFPID
     clients_recover_osts ost1
     echo "Verify reintegration"
-    client_df || return 1
+    clients_up || return 1
 
 }
 run_test 2 "Second Failure Mode: MDS/OST `date`"
@@ -215,7 +218,7 @@ test_3() {
     #Check FS
 
     echo "Test Lustre stability after MDS failover"
-    client_df
+    clients_up
 
     #CLIENT Portion
     echo "Failing 2 CLIENTS"
@@ -223,13 +226,13 @@ test_3() {
     
     #Check FS
     echo "Test Lustre stability after CLIENT failure"
-    client_df
+    clients_up
     
     #Reintegration
     echo "Reintegrating CLIENTS"
     reintegrate_clients || return 1
 
-    client_df || return 3
+    clients_up || return 3
     sleep 2 # give it a little time for fully recovered before next test
 }
 run_test 3  "Thirdb Failure Mode: MDS/CLIENT `date`"
@@ -244,7 +247,7 @@ test_4() {
  
     #Check FS
     echo "Test Lustre stability after OST failure"
-    client_df &
+    clients_up &
     DFPIDA=$!
     sleep 5
 
@@ -256,7 +259,7 @@ test_4() {
     change_active $SINGLEMDS
     reboot_facet $SINGLEMDS
 
-    client_df &
+    clients_up &
     DFPIDB=$!
     sleep 5
 
@@ -274,14 +277,14 @@ test_4() {
     wait $DFPIDB
     clients_recover_osts ost1
     echo "Test Lustre stability after MDS failover"
-    client_df || return 1
+    clients_up || return 1
 }
 run_test 4 "Fourth Failure Mode: OST/MDS `date`"
 ###################################################
 
 ############### Fifth Failure Mode ###############
 test_5() {
-    [ $OSTCOUNT -lt 2 ] && skip "$OSTCOUNT < 2, not enough OSTs" && return 0
+    [ $OSTCOUNT -lt 2 ] && skip_env "$OSTCOUNT < 2, not enough OSTs" && return 0
 
     echo "Fifth Failure Mode: OST/OST `date`"
 
@@ -289,7 +292,7 @@ test_5() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     
     #OST Portion
     shutdown_facet ost1
@@ -297,7 +300,7 @@ test_5() {
     
     #Check FS
     echo "Test Lustre stability after OST failure"
-    client_df &
+    clients_up &
     DFPIDA=$!
     sleep 5
     
@@ -307,7 +310,7 @@ test_5() {
 
     #Check FS
     echo "Test Lustre stability after OST failure"
-    client_df &
+    clients_up &
     DFPIDB=$!
     sleep 5
 
@@ -324,7 +327,7 @@ test_5() {
 
     wait $DFPIDA
     wait $DFPIDB
-    client_df || return 2
+    clients_up || return 2
 }
 run_test 5 "Fifth Failure Mode: OST/OST `date`"
 ###################################################
@@ -337,7 +340,7 @@ test_6() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     client_touch testfile || return 2
        
     #OST Portion
@@ -346,7 +349,7 @@ test_6() {
 
     #Check FS
     echo "Test Lustre stability after OST failure"
-    client_df &
+    clients_up &
     DFPIDA=$!
     echo DFPIDA=$DFPIDA
     sleep 5
@@ -357,7 +360,7 @@ test_6() {
     
     #Check FS
     echo "Test Lustre stability after CLIENTs failure"
-    client_df &
+    clients_up &
     DFPIDB=$!
     echo DFPIDB=$DFPIDB
     sleep 5
@@ -369,13 +372,13 @@ test_6() {
     reintegrate_clients || return 1
     sleep 5 
 
-    wait_remote_prog df $((TIMEOUT * 3 + 10)) 
+    wait_remote_prog df $((TIMEOUT * 3 + 20)) 
     wait $DFPIDA
     wait $DFPIDB
 
     echo "Verifying mount"
     [ -z "$(mounted_lustre_filesystems)" ] && return 3
-    client_df
+    clients_up
 }
 run_test 6 "Sixth Failure Mode: OST/CLIENT `date`"
 ###################################################
@@ -389,7 +392,7 @@ test_7() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     client_touch testfile  || return 1
 
     #CLIENT Portion
@@ -398,9 +401,9 @@ test_7() {
     
     #Check FS
     echo "Test Lustre stability after CLIENTs failure"
-    client_df
-    $PDSH $LIVE_CLIENT "ls -l $MOUNT"
-    $PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile"
+    clients_up
+    $PDSH $LIVE_CLIENT "ls -l $TESTDIR"
+    $PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile"
     
     #Sleep
     echo "Wait 1 minutes"
@@ -410,19 +413,19 @@ test_7() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && return 2
 
-    client_df
+    clients_up
     client_rm testfile
 
     #MDS Portion
     fail $SINGLEMDS
 
-    $PDSH $LIVE_CLIENT "ls -l $MOUNT"
-    $PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile"
+    $PDSH $LIVE_CLIENT "ls -l $TESTDIR"
+    $PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile"
 
     #Reintegration
     echo "Reintegrating CLIENTs"
     reintegrate_clients || return 2
-    client_df
+    clients_up
     
     #Sleep
     echo "wait 1 minutes"
@@ -440,7 +443,7 @@ test_8() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     client_touch testfile
        
     #CLIENT Portion
@@ -449,9 +452,9 @@ test_8() {
 
     #Check FS
     echo "Test Lustre stability after CLIENTs failure"
-    client_df
-    $PDSH $LIVE_CLIENT "ls -l $MOUNT"
-    $PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile"
+    clients_up
+    $PDSH $LIVE_CLIENT "ls -l $TESTDIR"
+    $PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile"
 
     #Sleep
     echo "Wait 1 minutes"
@@ -461,7 +464,7 @@ test_8() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     client_touch testfile
 
 
@@ -471,12 +474,12 @@ test_8() {
 
     #Check FS
     echo "Test Lustre stability after OST failure"
-    client_df &
+    clients_up &
     DFPID=$!
     sleep 5
     #non-failout hangs forever here
-    #$PDSH $LIVE_CLIENT "ls -l $MOUNT"
-    #$PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile"
+    #$PDSH $LIVE_CLIENT "ls -l $TESTDIR"
+    #$PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile"
     
     #Reintegration
     echo "Reintegrating CLIENTs/OST"
@@ -484,7 +487,7 @@ test_8() {
     wait_for ost1
     start_ost 1
     wait $DFPID
-    client_df || return 1
+    clients_up || return 1
     client_touch testfile2 || return 2
 
     #Sleep
@@ -503,7 +506,7 @@ test_9() {
     echo "Verify Lustre filesystem is up and running"
     [ -z "$(mounted_lustre_filesystems)" ] && error "Lustre is not running"
 
-    client_df
+    clients_up
     client_touch testfile || return 1
        
     #CLIENT Portion
@@ -512,9 +515,9 @@ test_9() {
 
     #Check FS
     echo "Test Lustre stability after CLIENTs failure"
-    client_df
-    $PDSH $LIVE_CLIENT "ls -l $MOUNT" || return 1
-    $PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile" || return 2
+    clients_up
+    $PDSH $LIVE_CLIENT "ls -l $TESTDIR" || return 1
+    $PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile" || return 2
 
     #Sleep
     echo "Wait 1 minutes"
@@ -522,7 +525,7 @@ test_9() {
 
     #Create files
     echo "Verify Lustre filesystem is up and running"
-    $PDSH $LIVE_CLIENT df $MOUNT || return 3
+    client_up $LIVE_CLIENT || return 3
     client_touch testfile || return 4
 
     #CLIENT Portion
@@ -531,14 +534,14 @@ test_9() {
     
     #Check FS
     echo "Test Lustre stability after CLIENTs failure"
-    client_df
-    $PDSH $LIVE_CLIENT "ls -l $MOUNT" || return 5
-    $PDSH $LIVE_CLIENT "rm -f $MOUNT/*_testfile" || return 6
+    clients_up
+    $PDSH $LIVE_CLIENT "ls -l $TESTDIR" || return 5
+    $PDSH $LIVE_CLIENT "rm -f $TESTDIR/*_testfile" || return 6
 
     #Reintegration
     echo "Reintegrating  CLIENTs/CLIENTs"
     reintegrate_clients || return 7
-    client_df
+    clients_up
     
     #Sleep
     echo "Wait 1 minutes"