From: Kefu Chai Date: Mon, 12 Jun 2017 10:33:27 +0000 (+0800) Subject: qa: timeout if flush_pg_stats() takes too long X-Git-Tag: v12.1.0~180^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F15620%2Fhead;p=ceph.git qa: timeout if flush_pg_stats() takes too long a "timeout" which defaults to 300 seconds is added to flush_pg_stats() Signed-off-by: Kefu Chai --- diff --git a/qa/workunits/ceph-helpers.sh b/qa/workunits/ceph-helpers.sh index fe2b9d2232c8..2e9a5d47d1d8 100755 --- a/qa/workunits/ceph-helpers.sh +++ b/qa/workunits/ceph-helpers.sh @@ -1638,18 +1638,24 @@ function test_wait_background() { function flush_pg_stats() { + local timeout=${1:-$TIMEOUT} + ids=`ceph osd ls` seqs='' for osd in $ids; do seq=`ceph tell osd.$osd flush_pg_stats` seqs="$seqs $osd-$seq" done + for s in $seqs; do osd=`echo $s | cut -d - -f 1` seq=`echo $s | cut -d - -f 2` echo "waiting osd.$osd seq $seq" while test $(ceph osd last-stat-seq $osd) -lt $seq; do sleep 1 + if [ $((timeout--)) -eq 0 ]; then + return 1 + fi done done }