]> granicus.if.org Git - zfs/commitdiff
Ensure that perf regression tests cleanup properly
authorGiuseppe Di Natale <dinatale2@users.noreply.github.com>
Tue, 29 Nov 2016 00:24:47 +0000 (16:24 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 29 Nov 2016 00:24:47 +0000 (17:24 -0700)
Each test in the performance regression test suite
creates a pool and a dataset for use. Unfortunately,
these tests do not cleanup the pool and dataset
correctly once they complete. Each test now kills
fio and iostat, destroys the dataset, and finally
destroys the pool. Each test also now traps the
SIGTERM signal to handle cases where test-runner
kills a test.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Requires-builders: all
Closes #5407

tests/zfs-tests/tests/perf/regression/random_reads.ksh
tests/zfs-tests/tests/perf/regression/random_readwrite.ksh
tests/zfs-tests/tests/perf/regression/random_writes.ksh
tests/zfs-tests/tests/perf/regression/sequential_reads.ksh
tests/zfs-tests/tests/perf/regression/sequential_reads_cached.ksh
tests/zfs-tests/tests/perf/regression/sequential_reads_cached_clone.ksh
tests/zfs-tests/tests/perf/regression/sequential_writes.ksh

index 0e9187f6d8fda518264c53049e26859d534712a0..2203d649c181beb33a182ee264437a08cd9707f1 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during random read load"
 log_onexit cleanup
 
index c360cd5b7ab1fd77d884e79933666fdb02a1d7c2..50bf2b08e0ded69795b7531700ca70853f0df9be 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during random read-write load"
 log_onexit cleanup
 
index 3e5d0f59eb71e36b6955d3561c61a307268d36e3..186232e198cb3330596d102a12281f7c3b123e53 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during random write load"
 log_onexit cleanup
 
index 75680e0896f837d2d3eac95e6a0f0af3bded71ad..52c9631d1899a20252fb14edf4a2058906dea7cd 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during sequential read load"
 log_onexit cleanup
 
index 54a4d4ac85d9fe39196e40b169abdefa30491fb5..9dfbe0663d34cd35674c459260021941be428afe 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during sequential read load"
 log_onexit cleanup
 
index bbc053abcae5a153ed456bab94af0f2bd74a8a7b..6b147f0f24ad73b174a011a26860fd4cfd2b2f69 100755 (executable)
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 log_assert "Measure IO stats during sequential read load"
 log_onexit cleanup
 
index 7865afa201c014accb6cb71487d10d7e153c43f0..905723e5a180c67d14a7e668fe23ab0d8868743c 100755 (executable)
@@ -33,9 +33,15 @@ log_onexit cleanup
 
 function cleanup
 {
-       log_must $ZFS destroy $TESTFS
+       # kill fio and iostat
+       $PKILL ${FIO##*/}
+       $PKILL ${IOSTAT##*/}
+       log_must_busy $ZFS destroy $TESTFS
+       log_must_busy $ZPOOL destroy $PERFPOOL
 }
 
+trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
+
 export TESTFS=$PERFPOOL/testfs
 recreate_perfpool
 log_must $ZFS create $PERF_FS_OPTS $TESTFS