]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: In osd-scrub-repair.sh fix use of wait_for_clean()
authorDavid Zafman <dzafman@redhat.com>
Wed, 22 Jun 2016 01:05:25 +0000 (18:05 -0700)
committerDavid Zafman <dzafman@redhat.com>
Wed, 16 Nov 2016 23:40:40 +0000 (15:40 -0800)
Signed-off-by: David Zafman <dzafman@redhat.com>
src/test/osd/osd-scrub-repair.sh

index c3fc8c4158acee68fcec0c0bd0cc14f2e4a6744f..a0cb6356751f1234a462d59944f2f33713eb269e 100755 (executable)
@@ -37,8 +37,6 @@ function add_something() {
     local poolname=$2
     local obj=${3:-SOMETHING}
 
-    wait_for_clean || return 1
-
     ceph osd set noscrub || return 1
     ceph osd set nodeep-scrub || return 1
 
@@ -58,6 +56,7 @@ function TEST_corrupt_and_repair_replicated() {
     run_mon $dir a --osd_pool_default_size=2 || return 1
     run_osd $dir 0 || return 1
     run_osd $dir 1 || return 1
+    wait_for_clean || return 1
 
     add_something $dir $poolname
     corrupt_and_repair_one $dir $poolname $(get_not_primary $poolname SOMETHING) || return 1
@@ -128,8 +127,6 @@ function corrupt_and_repair_one() {
     objectstore_tool $dir $osd SOMETHING list-attrs || return 1
     rados --pool $poolname get SOMETHING $dir/COPY || return 1
     diff $dir/ORIGINAL $dir/COPY || return 1
-
-    wait_for_clean || return 1
 }
 
 function corrupt_and_repair_erasure_coded() {
@@ -139,6 +136,7 @@ function corrupt_and_repair_erasure_coded() {
 
     ceph osd pool create $poolname 1 1 erasure $profile \
         || return 1
+    wait_for_clean || return 1
 
     add_something $dir $poolname
 
@@ -171,17 +169,18 @@ function TEST_auto_repair_erasure_coded() {
             --osd-scrub-min-interval=5 \
             --osd-scrub-interval-randomize-ratio=0
     done
+    wait_for_clean || return 1
 
     # Create an EC pool
     ceph osd erasure-code-profile set myprofile \
         k=2 m=1 ruleset-failure-domain=osd || return 1
     ceph osd pool create $poolname 8 8 erasure myprofile || return 1
+    wait_for_clean || return 1
 
     # Put an object
     local payload=ABCDEF
     echo $payload > $dir/ORIGINAL
     rados --pool $poolname put SOMETHING $dir/ORIGINAL || return 1
-    wait_for_clean || return 1
 
     # Remove the object from one shard physically
     objectstore_tool $dir $(get_not_primary $poolname SOMETHING) SOMETHING remove || return 1
@@ -257,6 +256,7 @@ function TEST_unfound_erasure_coded() {
       k=2 m=2 ruleset-failure-domain=osd || return 1
     ceph osd pool create $poolname 1 1 erasure myprofile \
       || return 1
+    wait_for_clean || return 1
 
     add_something $dir $poolname
 
@@ -342,7 +342,7 @@ function TEST_list_missing_erasure_coded() {
     for id in $(seq 0 2) ; do
         activate_osd $dir $id >&2 || return 1
     done
-    wait_for_clean >&2
+    wait_for_clean || return 1
 
     # Get get - both objects should in the same PG
     local pg=$(get_pg $poolname MOBJ0)