Whamcloud - gitweb
LU-14274 tests: enhance racer to set extra layout 77/41077/3
authorElena Gryaznova <elena.gryaznova@hpe.com>
Mon, 24 May 2021 16:45:12 +0000 (19:45 +0300)
committerOleg Drokin <green@whamcloud.com>
Tue, 8 Jun 2021 21:58:07 +0000 (21:58 +0000)
Patch adds an ability to set:
  - a generic "RACER_EXTRA_LAYOUT" contained any kind of
    layout in addition to layouts defined for
    RACER_ENABLE_*;
  - an initial racer RACER_PROGS commands list.
    The additional commands specified by RACER_EXTRA,
    RACER_ENABLE_REMOTE_DIRS, RACER_ENABLE_STRIPED_DIRS
    and RACER_ENABLE_MIGRATION are not ignored, i.e. the
    following parameters are to be set to run file_create only:
        RACER_ENABLE_REMOTE_DIRS=false
        RACER_ENABLE_STRIPED_DIRS=false
        RACER_ENABLE_MIGRATION=false.
Patch fixes NUM_THREADS and MAX_FILES to be passed correctly.

Test-Parameters: testlist=racer
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-9142
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: I9994dfdb0555a3acd75daa4cfd27a0cb62074e36
Reviewed-on: https://review.whamcloud.com/41077
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Vladimir Saveliev <c17830@cray.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/racer.sh
lustre/tests/racer/file_create.sh
lustre/tests/racer/racer.sh

index 82f4a76..1f21f42 100644 (file)
@@ -72,6 +72,7 @@ RACER_ENABLE_PFL=${RACER_ENABLE_PFL:-true}
 RACER_ENABLE_DOM=${RACER_ENABLE_DOM:-true}
 RACER_ENABLE_FLR=${RACER_ENABLE_FLR:-true}
 RACER_ENABLE_SEL=${RACER_ENABLE_SEL:-true}
 RACER_ENABLE_DOM=${RACER_ENABLE_DOM:-true}
 RACER_ENABLE_FLR=${RACER_ENABLE_FLR:-true}
 RACER_ENABLE_SEL=${RACER_ENABLE_SEL:-true}
+RACER_EXTRA_LAYOUT=${RACER_EXTRA_LAYOUT:-""}
 
 fail_random_facet () {
        local facets=${victims[@]}
 
 fail_random_facet () {
        local facets=${victims[@]}
@@ -101,7 +102,10 @@ test_1() {
 
                RDIRS="$RDIRS $d/racer"
                mkdir -p $d/racer
 
                RDIRS="$RDIRS $d/racer"
                mkdir -p $d/racer
-       #       lfs setstripe $d/racer -c -1
+               if [[ -n "$RACER_EXTRA_LAYOUT" ]]; then
+                       $LFS setstripe $d/racer $RACER_EXTRA_LAYOUT ||
+                       error "setstripe $RACER_EXTRA_LAYOUT failed"
+               fi
                if [ $MDSCOUNT -ge 2 ]; then
                        for i in $(seq $((MDSCOUNT - 1))); do
                                RDIRS="$RDIRS $d/racer$i"
                if [ $MDSCOUNT -ge 2 ]; then
                        for i in $(seq $((MDSCOUNT - 1))); do
                                RDIRS="$RDIRS $d/racer$i"
@@ -109,6 +113,12 @@ test_1() {
                                        $LFS mkdir -i $i $d/racer$i ||
                                                error "lfs mkdir $i failed"
                                fi
                                        $LFS mkdir -i $i $d/racer$i ||
                                                error "lfs mkdir $i failed"
                                fi
+                               if [[ -n "$RACER_EXTRA_LAYOUT" ]]; then
+                                       $LFS setstripe $d/racer$i \
+                                               $RACER_EXTRA_LAYOUT ||
+                                       error "setstripe \
+                                               $RACER_EXTRA_LAYOUT failed"
+                               fi
                        done
                fi
        done
                        done
                fi
        done
@@ -126,6 +136,10 @@ test_1() {
                        RACER_MAX_CLEANUP_WAIT=$RACER_MAX_CLEANUP_WAIT \
                        RACER_ENABLE_SEL=$RACER_ENABLE_SEL \
                        RACER_EXTRA=$RACER_EXTRA \
                        RACER_MAX_CLEANUP_WAIT=$RACER_MAX_CLEANUP_WAIT \
                        RACER_ENABLE_SEL=$RACER_ENABLE_SEL \
                        RACER_EXTRA=$RACER_EXTRA \
+                       RACER_EXTRA_LAYOUT=\\\"$RACER_EXTRA_LAYOUT\\\" \
+                       RACER_PROGS=$RACER_PROGS \
+                       NUM_THREADS=$NUM_THREADS \
+                       MAX_FILES=$MAX_FILES \
                        LFS=$LFS \
                        LCTL=$LCTL \
                        $racer $rdir $NUM_RACER_THREADS" &
                        LFS=$LFS \
                        LCTL=$LCTL \
                        $racer $rdir $NUM_RACER_THREADS" &
index dcd4033..78d68e5 100755 (executable)
@@ -4,6 +4,7 @@ RACER_ENABLE_PFL=${RACER_ENABLE_PFL:-true}
 RACER_ENABLE_DOM=${RACER_ENABLE_DOM:-true}
 RACER_ENABLE_FLR=${RACER_ENABLE_FLR:-true}
 RACER_ENABLE_SEL=${RACER_ENABLE_SEL:-true}
 RACER_ENABLE_DOM=${RACER_ENABLE_DOM:-true}
 RACER_ENABLE_FLR=${RACER_ENABLE_FLR:-true}
 RACER_ENABLE_SEL=${RACER_ENABLE_SEL:-true}
+RACER_EXTRA_LAYOUT=${RACER_EXTRA_LAYOUT:-""}
 DIR=$1
 MAX=$2
 MAX_MB=${RACER_MAX_MB:-8}
 DIR=$1
 MAX=$2
 MAX_MB=${RACER_MAX_MB:-8}
@@ -21,6 +22,7 @@ $RACER_ENABLE_FLR && layout+=(flr flr flr)
 
 # check if it supports PFL layout
 $RACER_ENABLE_SEL && layout+=(sel sel sel)
 
 # check if it supports PFL layout
 $RACER_ENABLE_SEL && layout+=(sel sel sel)
+[[ -n "$RACER_EXTRA_LAYOUT" ]] && layout+=(extra extra extra)
 
 echo "layout: ${layout[*]}"
 
 
 echo "layout: ${layout[*]}"
 
@@ -41,6 +43,7 @@ while /bin/true; do
                flr) opt="mirror create -N2 -E $comp_end -S $stripesize -E eof -c $stripecount -S 2M" ;;
                sel) opt="setstripe -E 128M -S $stripesize -z 64M -E eof -c $stripecount -S 2M -z 128M" ;;
                raid0) opt="setstripe -S $stripesize -c $stripecount" ;;
                flr) opt="mirror create -N2 -E $comp_end -S $stripesize -E eof -c $stripecount -S 2M" ;;
                sel) opt="setstripe -E 128M -S $stripesize -z 64M -E eof -c $stripecount -S 2M -z 128M" ;;
                raid0) opt="setstripe -S $stripesize -c $stripecount" ;;
+               extra) opt="setstripe $RACER_EXTRA_LAYOUT" ;;
                esac
 
                $LFS $opt $DIR/$file 2> /dev/null || true
                esac
 
                $LFS $opt $DIR/$file 2> /dev/null || true
index c60a7c5..5f378bc 100755 (executable)
@@ -12,9 +12,10 @@ RACER_MAX_CLEANUP_WAIT=${RACER_MAX_CLEANUP_WAIT:-$DURATION}
 
 mkdir -p $DIR
 
 
 mkdir -p $DIR
 
-RACER_PROGS="file_create dir_create file_rm file_rename file_link file_symlink \
-file_list file_concat file_exec file_chown file_chmod file_mknod file_truncate \
-file_delxattr file_getxattr file_setxattr"
+RACER_PROGS=${RACER_PROGS:-"file_create dir_create file_rm file_rename \
+file_link file_symlink file_list file_concat file_exec file_chown \
+file_chmod file_mknod file_truncate file_delxattr file_getxattr \
+file_setxattr"}
 
 # allow e.g. RACER_EXTRA=dir_create:5,file_link:10 to launch extra tasks
 for PROG in ${RACER_EXTRA//,/ }; do
 
 # allow e.g. RACER_EXTRA=dir_create:5,file_link:10 to launch extra tasks
 for PROG in ${RACER_EXTRA//,/ }; do