Whamcloud - gitweb
LU-18528 test: wait for quota pool nr 09/58409/2
authorHongchao Zhang <hongchao@whamcloud.com>
Fri, 14 Mar 2025 08:54:56 +0000 (16:54 +0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 26 Mar 2025 03:58:44 +0000 (03:58 +0000)
In test_68 in sanity_quota, the number of the quota pool in QMT
could be delayed to update, then it should wait for its update.

Test-Parameters: trivial testlist=sanity-quota fstype=zfs env=ONLY=68,ONLY_REPEAT=50
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: I2e1964cf39a493d68ddd6463aaa28cf173951979
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58409
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/sanity-quota.sh

index a1ffb3a..973785c 100755 (executable)
@@ -5248,15 +5248,16 @@ run_test 67 "quota pools recalculation"
 get_slave_nr() {
        local pool=$1
        local qtype=$2
-       local nr
+       local nr=$3
 
        wait_update_facet "--quiet" mds1 \
                "$LCTL get_param -n qmt.$FSNAME-QMT0000.dt-$pool.info \
                        >/dev/null 2>&1 || echo foo" "">/dev/null ||
                error "mds1: failed to create quota pool $pool"
 
-       do_facet mds1 $LCTL get_param -n qmt.$FSNAME-QMT0000.dt-$pool.info |
-               awk '/usr/ {getline; print $2}'
+       wait_update_facet mds1 \
+               "$LCTL get_param -n qmt.$FSNAME-QMT0000.dt-$pool.info | \
+                       awk '/usr/ {getline; print \\\$2}'" "$nr" || return 1
 }
 
 test_68()
@@ -5270,40 +5271,32 @@ test_68()
        set_ost_qtype $QTYPE || error "enable ost quota failed"
 
        # check slave number for glbal pool
-       local nr=$(get_slave_nr "0x0" "usr")
-       echo "nr result $nr"
-       [[ $nr != $((OSTCOUNT + MDSCOUNT)) ]] &&
-               error "Slave_nr $nr for global pool != ($OSTCOUNT + $MDSCOUNT)"
+       get_slave_nr "0x0" "usr" $((OSTCOUNT + MDSCOUNT)) ||
+               error "Slave_nr for global pool != ($OSTCOUNT + $MDSCOUNT)"
 
        # create qpool and add OST1
        pool_add $qpool || error "pool_add failed"
-       nr=$(get_slave_nr $qpool "usr")
-       [[ $nr != 0 ]] && error "Slave number $nr for $qpool != 0"
+       get_slave_nr $qpool "usr" 0 || error "Slave number for $qpool != 0"
 
        # add OST1 to qpool
        pool_add_targets $qpool 1 1 || error "pool_add_targets failed"
-       nr=$(get_slave_nr $qpool "usr")
-       [[ $nr != 1 ]] && error "Slave number $nr for $qpool != 1"
+       get_slave_nr $qpool "usr" 1 || error "Slave number for $qpool != 1"
 
        # add OST0 to qpool
        pool_add_targets $qpool 0 1 || error "pool_add_targets failed"
-       nr=$(get_slave_nr $qpool "usr")
-       [[ $nr != 2 ]] && error "Slave number $nr for $qpool != 2"
+       get_slave_nr $qpool "usr" 2 || error "Slave number for $qpool != 2"
 
        # remove OST0
        pool_remove_target $qpool 0
-       nr=$(get_slave_nr $qpool "usr")
-       [[ $nr != 1 ]] && error "Slave number $nr for $qpool != 1"
+       get_slave_nr $qpool "usr" 1 || error "Slave number for $qpool != 1"
 
        # remove OST1
        pool_remove_target $qpool 1
-       nr=$(get_slave_nr $qpool "usr")
-       [[ $nr != 0 ]] && error "Slave number $nr for $qpool != 0"
+       get_slave_nr $qpool "usr" 0 || error "Slave number for $qpool != 0"
 
        # Check again that all is fine with global pool
-       nr=$(get_slave_nr "0x0" "usr")
-       [[ $nr == $((OSTCOUNT + MDSCOUNT)) ]] ||
-               error "Slave_nr $nr for global pool != ($OSTCOUNT + $MDSCOUNT)"
+       get_slave_nr "0x0" "usr" $((OSTCOUNT + MDSCOUNT)) ||
+               error "Slave_nr for global pool != ($OSTCOUNT + $MDSCOUNT)"
 }
 run_test 68 "slave number in quota pool changed after each add/remove OST"