Whamcloud - gitweb
LU-13449 tests: fix recovery-small test_140b check 09/39909/2
authorAndreas Dilger <adilger@whamcloud.com>
Mon, 14 Sep 2020 23:07:17 +0000 (17:07 -0600)
committerOleg Drokin <green@whamcloud.com>
Mon, 8 Feb 2021 21:55:48 +0000 (21:55 +0000)
The recovery timer is printed in MM:SS format, but the current test
is unhappy if the SS part is printed as "08" or "09" since that is
interpreted by bash as an invalid octal number.  Also, the current
check does not handle the case if recovery is longer than a minute.

Change the code to convert MM:SS back to seconds for the comparison.

Test-Parameters: trivial testlist=recovery-small env=ONLY=140
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ie1dc77a88bb0e8fd5025f2b5ca57d4a61d3ebbe5
Reviewed-on: https://review.whamcloud.com/39909
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/recovery-small.sh

index 675f616..8b4b594 100755 (executable)
@@ -2966,11 +2966,12 @@ test_140b() {
        replay_barrier mds1
        umount_mds_client
        fail mds1
+       # Lustre: tfs-MDT0000: Recovery over after 0:03, of 2 clients 2 rec...
        local recovery=$(do_facet mds1 dmesg |
-                        awk -F: '/Recovery over after/ { print $4 }' |
-                        cut -d, -f1 | tail -1)
-       (( $recovery < $TIMEOUT*2 )) ||
-               error "recovery took too long $recovery > $((TIMEOUT * 2))"
+                        awk '/Recovery over after/ { print $6 }' | tail -1 |
+                        awk -F: '{ print $1 * 60 + $2 }')
+       (( recovery < TIMEOUT * 2 + 5 )) ||
+               error "recovery took too long $recovery > $((TIMEOUT * 2 + 5))"
 }
 run_test 140b "local mount is excluded from recovery"