Whamcloud - gitweb
LU-8220 tests: stripe file over all active OSTs 15/20515/5
authorNoopur Maheshwari <noopur.maheshwari@seagate.com>
Tue, 31 May 2016 09:10:32 +0000 (14:40 +0530)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 22 Jun 2016 02:54:29 +0000 (02:54 +0000)
In test_iozone/parallel-scale-cifs, the iozone command creates the
temporary files under test with default stripe count=1, that is,
both the 256mb files reside on the same OST, over-utilizing the OST,
resulting in Use%=100%(No space left on device).

The fix is to create a sub-directory in the samba server mount
point with a stripe count of -1 (stripe over all available OSTs)
and then run iozone with this sub-directory path, so that all the
temporary files created within this sub-directory, during iozone,
reside on multiple OSTs and OST free space is utilized uniformly.

Since the test suite mounts lustre client on smb server, the "lfs
setstripe" command is executed on the smb server.

Test-Parameters: trivial

Seagate-bug-id: MRP-2179
Signed-off-by: Noopur Maheshwari <noopur.maheshwari@seagate.com>
Change-Id: If225b62848b5266dc51ef791ef0d9c8002f908a5
Reviewed-on: http://review.whamcloud.com/20515
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/parallel-scale-cifs.sh

index b47e043..9e99d80 100644 (file)
@@ -211,6 +211,9 @@ test_iozone() {
        [[ $((size * nclients)) -gt $((space * 3 / 4)) ]] &&
                size=$((space * 3 / 4 / nclients))
 
        [[ $((size * nclients)) -gt $((space * 3 / 4)) ]] &&
                size=$((space * 3 / 4 / nclients))
 
+       do_node $LUSTRE_CLIENT_SMBSRV "mkdir $SMBSRVMNTPT/$tdir
+               lfs setstripe -c -1 $SMBSRVMNTPT/$tdir"
+
        log "free space: $space Kb, using $size size, $nclients number of clients"
 
        local cmd="iozone -a -e -+d -s $size "
        log "free space: $space Kb, using $size size, $nclients number of clients"
 
        local cmd="iozone -a -e -+d -s $size "
@@ -219,8 +222,8 @@ test_iozone() {
 
        do_nodesv $clients "set -x; \
                PATH=\$PATH \
 
        do_nodesv $clients "set -x; \
                PATH=\$PATH \
-               $cmd -f $SMBCLIMNTPT/f0.iozone_\\\$(hostname) 2>&1 | tee $log; \
-               exit \\\${PIPESTATUS[0]}" &
+               $cmd -f $SMBCLIMNTPT/$tdir/f0.iozone_\\\$(hostname) \
+               2>&1 | tee $log; exit \\\${PIPESTATUS[0]}" &
        pid=$!
 
        # check that iozone is started on all clients after
        pid=$!
 
        # check that iozone is started on all clients after
@@ -237,6 +240,7 @@ test_iozone() {
        rc=$?
        log "Processing iozone log"
        do_nodesv $clients "tail -1 $log | grep -q complete" || rc=2
        rc=$?
        log "Processing iozone log"
        do_nodesv $clients "tail -1 $log | grep -q complete" || rc=2
+       do_node $LUSTRE_CLIENT_SMBSRV "rm -rf $SMBSRVMNTPT/$tdir"
        [ $rc -eq 0 ] || error "iozone load on $clients failed! rc=$rc"
 }
 run_test iozone "iozone on cifs clients"
        [ $rc -eq 0 ] || error "iozone load on $clients failed! rc=$rc"
 }
 run_test iozone "iozone on cifs clients"