Whamcloud - gitweb
LU-15374 tests: check FULL and IDLE for client import state
authorJian Yu <yujian@whamcloud.com>
Thu, 13 Apr 2023 19:04:50 +0000 (12:04 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Tue, 25 Apr 2023 07:20:38 +0000 (07:20 +0000)
The client-to-OST import state can be FULL or IDLE.

Lustre-change: https://review.whamcloud.com/49298
Lustre-commit: 25fb82eb413389b6023e0e61f7efb71e91d15c01

Test-Parameters: trivial testgroup=review-dne-part-3

Fixes: 25606a2ce1 ("LU-15342 tests: escape "|"")
Fixes: 3da8f014fd ("LU-12857 tests: allow clients to be IDLE after recovery")
Fixes: 5a6ceb664f ("LU-7236 ptlrpc: idle connections can disconnect")

Change-Id: I3582ceb273d241ee71fe907f6d1423746e453faa
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/50632
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/tests/conf-sanity.sh
lustre/tests/recovery-mds-scale.sh
lustre/tests/test-framework.sh

index 43f43c4..d15b65c 100644 (file)
@@ -166,7 +166,7 @@ stop_mgs() {
 start_ost() {
        echo "start ost1 service on `facet_active_host ost1`"
        start ost1 $(ostdevname 1) $OST_MOUNT_OPTS $@ || return 95
-       wait_clients_import_state ${CLIENTS:-$HOSTNAME} ost1 FULL
+       wait_clients_import_ready ${CLIENTS:-$HOSTNAME} ost1
 }
 
 stop_ost() {
@@ -178,7 +178,7 @@ stop_ost() {
 start_ost2() {
        echo "start ost2 service on `facet_active_host ost2`"
        start ost2 $(ostdevname 2) $OST_MOUNT_OPTS $@ || return 92
-       wait_clients_import_state ${CLIENTS:-$HOSTNAME} ost2 FULL
+       wait_clients_import_ready ${CLIENTS:-$HOSTNAME} ost2
 }
 
 stop_ost2() {
@@ -7528,7 +7528,7 @@ test_101b () {
        sleep 25
        start_ost
 
-       wait_osc_import_state client ost1 FULL
+       wait_osc_import_ready client ost1
        touch $dir/$tfile || error "Can't create file"
 
        cleanup
@@ -8499,8 +8499,8 @@ test_112() {
 
        mount_client $MOUNT || error "mount client failed"
        wait_osc_import_state mds1 ost1 FULL
-       wait_osc_import_state client ost1 FULL
-       wait_osc_import_state client ost2 FULL
+       wait_osc_import_ready client ost1
+       wait_osc_import_ready client ost2
 
        $LFS setstripe -i 0 $DIR/$tfile.0 ||
                error "problem creating $tfile.0 on OST0000"
index cf1325b..a4bad25 100644 (file)
@@ -155,10 +155,9 @@ failover_target() {
             exit 7
         fi
 
-               local want="FULL\|IDLE"
-               log "Checking clients are in $want state before next failover"
-               wait_clients_import_state $NODES_TO_USE $serverfacet "$want" ||
-                       echo "Client import not $want, please consider to increase SERVER_FAILOVER_PERIOD=$SERVER_FAILOVER_PERIOD!"
+               log "Checking clients are in FULL or IDLE state before next failover"
+               wait_clients_import_ready $NODES_TO_USE $serverfacet ||
+                       echo "Client import is not ready, please consider to increase SERVER_FAILOVER_PERIOD=$SERVER_FAILOVER_PERIOD!"
 
         log "Starting failover on $serverfacet"
         facet_failover "$serverfacet" || exit 1
index 3ef998b..1db5d8f 100755 (executable)
@@ -3805,7 +3805,7 @@ fail() {
        export SK_NO_KEY=$SK_NO_KEY_save
        # to initiate all OSC idling connections
        clients_up
-       wait_clients_import_state "$clients" "$facets" "\(FULL\|IDLE\)"
+       wait_clients_import_ready "$clients" "$facets"
        clients_up || error "post-failover stat: $?"
 }
 
@@ -7903,6 +7903,10 @@ wait_clients_import_state () {
        fi
 }
 
+wait_clients_import_ready() {
+       wait_clients_import_state "$1" "$2" "\(FULL\|IDLE\)"
+}
+
 wait_osp_active() {
        local facet=$1
        local tgt_name=$2