]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: osd-scrub-snaps.sh: After snapshot removal wait for snaptrim to complete 22476/head
authorDavid Zafman <dzafman@redhat.com>
Fri, 8 Jun 2018 01:03:28 +0000 (18:03 -0700)
committerDavid Zafman <dzafman@redhat.com>
Thu, 8 Nov 2018 22:48:20 +0000 (14:48 -0800)
Due to deliberate corruptions snaptrim_error means snaptrim is done

Signed-off-by: David Zafman <dzafman@redhat.com>
qa/standalone/scrub/osd-scrub-snaps.sh

index e4856bdb8a2a6cad5cb9e6e749e8ee233ab6bfc2..0b7c70e0d1367d64742162c614c5717d16cbc857 100755 (executable)
@@ -688,12 +688,28 @@ EOF
         pids+="$(cat $pidfile) "
     done
 
+    ERRORS=0
+
     for i in `seq 1 7`
     do
         rados -p $poolname rmsnap snap$i
     done
-
-    ERRORS=0
+    sleep 5
+    local -i loop=0
+    while ceph pg dump pgs | grep -q snaptrim;
+    do
+        if ceph pg dump pgs | grep -q snaptrim_error;
+        then
+            break
+        fi
+        sleep 2
+        loop+=1
+        if (( $loop >= 10 )) ; then
+            ERRORS=$(expr $ERRORS + 1)
+            break
+        fi
+    done
+    ceph pg dump pgs
 
     for pid in $pids
     do
@@ -1136,6 +1152,8 @@ fi
         pids+="$(cat $pidfile) "
     done
 
+    ERRORS=0
+
     # When removing snapshots with a corrupt replica, it crashes.
     # See http://tracker.ceph.com/issues/23875
     if [ $which = "primary" ];
@@ -1144,9 +1162,23 @@ fi
         do
             rados -p $poolname rmsnap snap$i
         done
+        sleep 5
+        local -i loop=0
+        while ceph pg dump pgs | grep -q snaptrim;
+        do
+            if ceph pg dump pgs | grep -q snaptrim_error;
+            then
+                break
+            fi
+            sleep 2
+            loop+=1
+            if (( $loop >= 10 )) ; then
+                ERRORS=$(expr $ERRORS + 1)
+                break
+            fi
+        done
     fi
-
-    ERRORS=0
+    ceph pg dump pgs
 
     for pid in $pids
     do