Test Descriptions: Difference between revisions
Jump to navigation
Jump to search
Justinmiller (talk | contribs) |
(→Lustre Unit, Feature, and Regression Tests: add link for sanity-lnet) |
||
(34 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
== Lustre Test Framework == | |||
{| class="wikitable sortable" cellpadding="15" | |||
! style="text-align:left;" | Name | |||
! Description | |||
|- | |||
|data-sort-value="acceptance-small"| [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/acceptance-small.sh acceptance-small.sh (acc-sm)] | |||
|The acceptance-small.sh script is a wrapper around auster that runs the test group '[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/test-groups/regression regression]' unless tests are specified on the command line. | |||
|- | |||
|data-sort-value="auster"|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/auster auster] | |||
|auster is used to run the Lustre tests. It can be used to run groups of tests, individual tests, or sub-tests. Provides setup and cleanup. | |||
|- | |||
|data-sort-value="functions"|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/functions.sh functions.sh] | |||
|Provides functions for the run_*.sh tests, such as run_dd.sh or run_dbench.sh | |||
|- | |||
|data-sort-value="test-framework"|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/test-framework.sh test-framework.sh] | |||
|Provides the fundamental functions needed by tests to create, setup, verify, start, stop, and reformat a Lustre filesystem. | |||
|} | |||
See the [[TestingLustreCode]] page for details on how to run these test scripts. | |||
== Lustre Unit, Feature, and Regression Tests == | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align:left;" | | |+Status Key | ||
|- | |||
|<span style="color:green">Active</span> | |||
|Test suite has been run in AutoTest or committed to in last year. | |||
|- | |||
|<span style="color:blue">Inactive</span> | |||
|Test suite has not been run in AutoTest or committed to in over a year. | |||
|- | |||
|<span style="color:red">Deprecated</span> | |||
|Test suite has been removed or replaced. | |||
|} | |||
{| class="wikitable sortable" cellpadding="15" | |||
! style="text-align:left;" | Name | |||
!Status | |||
!Test Description | !Test Description | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/conf-sanity.sh conf-sanity] | |data-sort-value="conf-sanity" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/conf-sanity.sh conf-sanity] | ||
|A set of unit tests that verify the configuration tools, and runs Lustre with multiple different setups to ensure correct operation in unusual system configurations. | |<span style="color:green">Active</span> | ||
|A set of unit tests that verify the configuration tools, and runs Lustre with multiple different setups to ensure correct operation in unusual system configurations. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/dne_sanity.sh dne_sanity] | |data-sort-value=dne-sanity" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/dne_sanity.sh dne_sanity] | ||
|<span style="color:blue">Inactive</span> | |||
|Run sanity parallel on different directories at the same time. | |Run sanity parallel on different directories at the same time. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/insanity.sh insanity] | |data-sort-value="insanity" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/insanity.sh insanity] | ||
|A set of tests that verify the multiple concurrent failure conditions. | |<span style="color:green">Active</span> | ||
|A set of tests that verify the multiple concurrent failure conditions. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/large-scale.sh large-scale] | |data-sort-value="large-scale" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/large-scale.sh large-scale] | ||
|<span style="color:green">Active</span> | |||
|Large-scale tests that verify version-based recovery features. | |Large-scale tests that verify version-based recovery features. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lfsck.sh lfsck] | |data-sort-value="large-lun" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/large-lun.sh large-lun] | ||
| | |<span style="color:green">Active</span> | ||
|Large LUN test | |||
|- | |||
|data-sort-value="lfsck" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lfsck.sh lfsck] | |||
|<span style="color:red">Deprecated</span> | |||
|Replaced by sanity-lfsck. | |||
|- | |||
|data-sort-value="lfsck-performance" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lfsck-performance.sh lfsck-performance] | |||
|<span style="color:green">Active</span> | |||
|lfsck performance test for the cases: lfsck with load, lfsck during create, backup/restore, simulate upgrade from 1.8. | |||
|- | |- | ||
| | |data-sort-value="liblustre" | liblustre | ||
| | |<span style="color:red">Deprecated</span> | ||
|Run tests linked to liblustre client library | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lustre-rsync-test.sh lustre-rsync-test] | |data-sort-value="lustre-rsync-test" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lustre-rsync-test.sh lustre-rsync-test] | ||
|<span style="color:green">Active</span> | |||
|Verifies the lustre_rsync (replication) feature. | |Verifies the lustre_rsync (replication) feature. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/metadata-updates.sh metadata-updates] | |data-sort-value="metadata-updates" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/metadata-updates.sh metadata-updates] | ||
|<span style="color:green">Active</span> | |||
| Tests that metadata updates are properly completed when multiple clients create/delete files and modify the attributes of files. | | Tests that metadata updates are properly completed when multiple clients create/delete files and modify the attributes of files. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/mmp.sh mmp] | |data-sort-value="mmp" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/mmp.sh mmp] | ||
|<span style="color:green">Active</span> | |||
|Tests for multiple mount protection (MMP) feature. | |Tests for multiple mount protection (MMP) feature. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/performance-sanity.sh performance-sanity] | |data-sort-value="ost-pools" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/ost-pools.sh ost-pools] | ||
|<span style="color:green">Active</span> | |||
|Tests that exercises the OST pools feature. | |||
|- | |||
|data-sort-value="performance-sanity" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/performance-sanity.sh performance-sanity] | |||
|<span style="color:green">Active</span> | |||
|Performance mdsrate tests (small file create/open/delete, large file create/open/delete, lookup rate 10M file dir, lookup rate 10M file 10 dir, getattr small file, and getattr large files). | |Performance mdsrate tests (small file create/open/delete, large file create/open/delete, lookup rate 10M file dir, lookup rate 10M file 10 dir, getattr small file, and getattr large files). | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/ | |data-sort-value="parallel-scale" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/parallel-scale.sh parallel-scale] | ||
| | |<span style="color:green">Active</span> | ||
|Runs functional tests (connectathon, cascading_rw, write_disjoint, write_append_truncate, parallel_grouplock, statahead), performance tests (IOR, compilebench and metabench), and a stress test (simul). | |||
|- | |||
|data-sort-value="parallel-scale-cifs" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/parallel-scale-cifs.sh parallel-scale-cifs] | |||
|<span style="color:green">Active</span> | |||
|Tests Lustre exported via Samba and runs concurrent load compilebench, dbench, fsx, and iozone on Samba clients. The test assumes that Samba server and clients have necessary packages installed. | |||
|- | |||
|data-sort-value="parallel-scale-nfs" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/parallel-scale-nfs.sh parallel-scale-nfs] | |||
|<span style="color:green">Active</span> | |||
| Called by parallel-scale-nfsv3.sh and parallel-scale-nfsv4.sh with a version specified. | |||
|- | |||
|data-sort-value="parallel-scale-nfsv3" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/parallel-scale-nfsv3.sh parallel-scale-nfsv3] | |||
|<span style="color:green">Active</span> | |||
|Provide setup nfs within auster framework | |||
|- | |||
|data-sort-value="parallel-scale-nfsv4" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/parallel-scale-nfsv4.sh parallel-scale-nfsv4] | |||
|<span style="color:green">Active</span> | |||
|Provide setup nfs within auster framework | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/ | |data-sort-value="posix" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/posix.sh posix] | ||
| | |<span style="color:green">Active</span> | ||
|Automate POSIX compliance testing. Assuming that the POSIX source already installed, on the system, setup loop back ext4 filesystem, then install, build and run POSIX binaries on ext4. Run POSIX again Lustre and compare results from ext4 and Lustre. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/racer.sh racer] | |data-sort-value="racer" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/racer.sh racer] | ||
|<span style="color:green">Active</span> | |||
|Tests for filesystem race conditions by concurrently creating, moving, deleting, etc. a set of files. | |Tests for filesystem race conditions by concurrently creating, moving, deleting, etc. a set of files. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-double-scale.sh recovery-double-scale] | |data-sort-value="recovery-double-scale" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-double-scale.sh recovery-double-scale] | ||
|<span style="color:green">Active</span> | |||
|Failover test for all pair-wise combinations of node failures. | |Failover test for all pair-wise combinations of node failures. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-mds-scale.sh recovery-mds-scale] | |data-sort-value="recovery-mds-scale" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-mds-scale.sh recovery-mds-scale] | ||
|<span style="color:green">Active</span> | |||
|The server failover test: for a duration of 24 hours, repeatedly fail over a random facet (MDS or OST) at 10 minute intervals and verify that no application errors occur. | |The server failover test: for a duration of 24 hours, repeatedly fail over a random facet (MDS or OST) at 10 minute intervals and verify that no application errors occur. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-random-scale.sh recovery-random-scale] | |data-sort-value="recovery-random-scale" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-random-scale.sh recovery-random-scale] | ||
|<span style="color:green">Active</span> | |||
|Verifies client failure not affecting other clients. | |Verifies client failure not affecting other clients. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-small.sh recovery-small] | |data-sort-value="recovery-small" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/recovery-small.sh recovery-small] | ||
|A set of unit tests that verify RPC replay after communications failure. | |<span style="color:green">Active</span> | ||
|A set of unit tests that verify RPC replay after communications failure. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-dual.sh replay-dual] | |data-sort-value="replay-dual" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-dual.sh replay-dual] | ||
|A set of unit tests that verify the recovery from two clients after server failure. | |<span style="color:green">Active</span> | ||
|A set of unit tests that verify the recovery from two clients after server failure. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-ost-single.sh replay-ost-single] | |data-sort-value="replay-ost-single" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-ost-single.sh replay-ost-single] | ||
| A set of unit tests that verify recovery after OST failure. | |<span style="color:green">Active</span> | ||
| A set of unit tests that verify recovery after OST failure. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-single.sh replay-single] | |data-sort-value="replay-single" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-single.sh replay-single] | ||
| A set of unit tests that verify recovery after MDS failure. | |<span style="color:green">Active</span> | ||
| A set of unit tests that verify recovery after MDS failure. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-vbr.sh replay-vbr] | |data-sort-value="replay-vbr" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/replay-vbr.sh replay-vbr] | ||
|<span style="color:green">Active</span> | |||
|Verifies version-based recovery feature. | |Verifies version-based recovery feature. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/runtests runtests] | |data-sort-value="runtests" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/runtests runtests] | ||
|Simple basic regression test that verifies data persistence across write, unmount, and remount. This is one of the few tests that verifies data integrity across a full filesystem shutdown and remount, unlike many tests which at most only verify the existence/size of files. | |<span style="color:green">Active</span> | ||
|Simple basic regression test that verifies data persistence across write, unmount, and remount. This is one of the few tests that verifies data integrity across a full filesystem shutdown and remount, unlike many tests which at most only verify the existence/size of files. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity.sh sanity] | |[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity.sh sanity] | ||
|A set of regression tests that verify operation under normal operating conditions. This tests a large number of unusual operations that have previously caused functional or data correctness issues with Lustre. Some of the tests are Lustre specific, and hook into the Lustre fault injection framework using the "lctl set_param fail_loc=X" command to activate triggers in the code to simulate unusual operating conditions that would otherwise be difficult or impossible to simulate. | |<span style="color:green">Active</span> | ||
|A set of regression tests that verify operation under normal operating conditions. This tests a large number of unusual operations that have previously caused functional or data correctness issues with Lustre. Some of the tests are Lustre specific, and hook into the Lustre fault injection framework using the "lctl set_param fail_loc=X" command to activate triggers in the code to simulate unusual operating conditions that would otherwise be difficult or impossible to simulate. | |||
|- | |||
|data-sort-value="sanityn" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanityn.sh sanityn] | |||
|<span style="color:green">Active</span> | |||
|Tests that verify operations from two clients under normal operating conditions. This is done by mounting the same filesystem twice on a single client, in order to allow a single script/program to execute and verify filesystem operations on multiple "clients" without having to be a distributed program itself. | |||
|- | |||
|data-sort-value="sanity-benchmark" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-benchmark.sh sanity-benchmark] | |||
|<span style="color:green">Active</span> | |||
|Test basic functionality of the filesystem using simple benchmarks. Runs dbench, bonnie++, iozone, fsx, and pios. | |||
|- | |||
|data-sort-value="sanity-dom" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-dom.sh sanity-dom] | |||
|<span style="color:green">Active</span> | |||
|Sanity test the Data on MDT feature. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/ | |data-sort-value="sanity-flr" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-flr.sh sanity-flr] | ||
| | |<span style="color:green">Active</span> | ||
|Sanity test the File Level Redundancy feature. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-gss.sh sanity-gss] | |data-sort-value="sanity-gss" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-gss.sh sanity-gss] | ||
|Verifies GSSAPI features. | |<span style="color:green">Active</span> | ||
|Verifies GSSAPI features. A mechanism-agnostic test suite for just the GSSAPI code itself using the gssnull security flavor, which in turn uses the null GSSAPI mechanism. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-hsm.sh sanity-hsm] | |data-sort-value="sanity-hsm" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-hsm.sh sanity-hsm] | ||
|<span style="color:green">Active</span> | |||
|Sanity test for HSM feature. | |Sanity test for HSM feature. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-krb5.sh sanity-krb5] | |data-sort-value="sanity-krb5" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-krb5.sh sanity-krb5] | ||
|<span style="color:green">Active</span> | |||
|Verifies Kerberos features. | |Verifies Kerberos features. | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-lfsck.sh sanity-lfsck] | |data-sort-value="sanity-lfsck" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-lfsck.sh sanity-lfsck] | ||
|<span style="color:green">Active</span> | |||
|Sanity test for lfsck | |Sanity test for lfsck | ||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity- | |data-sort-value="sanity-lnet" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-lnet.sh sanity-lnet] | ||
| | |<span style="color:green">Active</span> | ||
|Sanity test for lnet | |||
|- | |||
|data-sort-value="sanity-pcc" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-pcc.sh sanity-pcc] | |||
|<span style="color:green">Active</span> | |||
|A set of tests verifying basic functionality of the Persistent Client Cache feature. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity- | |data-sort-value="sanity-pfl" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-pfl.sh sanity-pfl] | ||
| | |<span style="color:green">Active</span> | ||
|Sanity tests for the Progressive File Layout feature. | |||
|- | |- | ||
|[http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-sec.sh sanity-sec] | |data-sort-value="sanity-quota" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-quota.sh sanity-quota] | ||
|<span style="color:green">Active</span> | |||
|A set of tests that verify filesystem quotas. | |||
|- | |||
|data-sort-value="sanity-scrub" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-scrub.sh sanity-scrub] | |||
|<span style="color:green">Active</span> | |||
|Verifies OI scrub functionality. | |||
|- | |||
|data-sort-value="sanity-sec" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sanity-sec.sh sanity-sec] | |||
|<span style="color:green">Active</span> | |||
|Verifies Lustre identity features. , including UID/GID mapping | |Verifies Lustre identity features. , including UID/GID mapping | ||
|- | |||
|data-sort-value="scrub-performance" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/scrum-performance.sh scrub-performance] | |||
|<span style="color:green">Active</span> | |||
|Test OI scrub performance | |||
|} | |} | ||
== Benchmark Scripts == | == Benchmark Scripts == | ||
{| class="wikitable" | {| class="wikitable sortable" cellpadding="15" | ||
! style="text-align:left;" | | ! style="text-align:left;" | Name | ||
!Status | |||
!Script Description | !Script Description | ||
|- | |- | ||
| | |data-sort-value="lnet-selftest" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/lnet-selftest.sh lnet-selftest] | ||
| | |<span style="color:green">Active</span> | ||
| | |LNET self-test is a kernel module that runs over LNET and the Lustre network drivers (LNDs). It is designed to test the connection ability of the Lustre network, run regression tests of the Lustre network, and test performance of the Lustre network. | ||
| | |||
|- | |- | ||
| | |data-sort-value="obdfilter-survey" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/obdfilter-survey.sh obdfilter-survey] | ||
| | |<span style="color:green">Active</span> | ||
|This survey script does sequential I/O with varying numbers of threads and objects (files) by using lctl to drive the echo_client connected to local or remote obdfilter instances, or remote obdecho instances. It can be used to characterize the performance of the following Lustre components. | |||
|- | |- | ||
| | |data-sort-value="sgpdd-survey" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/sgpdd-survey.sh sgpdd-survey] | ||
|<span style="color:green">Active</span> | |||
|- | |This survey may be used to characterize the performance of a SCSI device. It simulates an OST serving multiple stripe files. The data gathered by it can help set expectations for the performance of a Lustre OST exporting the device. | ||
| | |||
|} | |} | ||
== Auxiliary | == Auxiliary Tests and Benchmarks Tools == | ||
{| class="wikitable" | {| class="wikitable sortable" cellpadding="15" | ||
! style="text-align:left;" | | ! style="text-align:left;" | Name | ||
!Script Description | !Script Description | ||
|- | |- | ||
|fsx | |data-sort-value="bonnie" | [http://www.coker.com.au/bonnie++/ bonnie++] | ||
|The file system exerciser was developed outside of Lustre and is intended to stress test unusual IO and file operations. It does buffered and mmap reads and writes with random size and offset, truncate, open, close on a file. It verifies data integrity after each step. A lustre-developed extension allows fsx to run against multiple mountpoints to verify distributed IO operation correctness. (Source [https://wiki. | |Bonnie++ benchmark for creation, reading, and deleting many small files. | ||
|- | |||
|data-sort-value="dbench" | [https://dbench.samba.org/ dbench] | |||
|Dbench benchmark for simulating N clients to produce the filesystem load. | |||
|- | |||
|data-sort-value="fsx" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/fsx.c fsx] | |||
|The file system exerciser was developed outside of Lustre and is intended to stress test unusual IO and file operations. It does buffered and mmap reads and writes with random size and offset, truncate, open, close on a file. It verifies data integrity after each step. A lustre-developed extension allows fsx to run against multiple mountpoints to verify distributed IO operation correctness. (Source [https://wiki.whamcloud.com/display/PUB/Auster Auster]) | |||
|- | |||
|data-sort-value="iozone" | [http://www.iozone.org/ iozone] | |||
|Iozone benchmark for generating and measuring a variety of file operations. | |||
|- | |||
|data-sort-value="oos.sh" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/oos.sh oos.sh] | |||
|Script used to check out-of-space detection in sanity.sh test 64b. | |||
|- | |||
|data-sort-value="oos2.sh" | [http://git.whamcloud.com/fs/lustre-release.git/blob/HEAD:/lustre/tests/oos2.sh oos2.sh] | |||
|Script used to check out-of-space detection with multiple writers in sanityn.sh test 15. | |||
|- | |||
|data-sort-value="pios" | pios | |||
|pios is a parallel IO simulator. It can simulate shared file per process and file per process IO. Used in sanity-benchmark. pios-1.2-wc1 is available from the build of the toolkit repo for various distributions, e.g. RHEL6 x86_64 https://build.whamcloud.com/job/toolkit/arch=x86_64,distro=el6/lastSuccessfulBuild/artifact/_topdir/RPMS/x86_64/ | |||
|} | |} | ||
[[Category:Testing]] |
Latest revision as of 16:05, 13 November 2020
Lustre Test Framework
Name | Description |
---|---|
acceptance-small.sh (acc-sm) | The acceptance-small.sh script is a wrapper around auster that runs the test group 'regression' unless tests are specified on the command line. |
auster | auster is used to run the Lustre tests. It can be used to run groups of tests, individual tests, or sub-tests. Provides setup and cleanup. |
functions.sh | Provides functions for the run_*.sh tests, such as run_dd.sh or run_dbench.sh |
test-framework.sh | Provides the fundamental functions needed by tests to create, setup, verify, start, stop, and reformat a Lustre filesystem. |
See the TestingLustreCode page for details on how to run these test scripts.
Lustre Unit, Feature, and Regression Tests
Active | Test suite has been run in AutoTest or committed to in last year. |
Inactive | Test suite has not been run in AutoTest or committed to in over a year. |
Deprecated | Test suite has been removed or replaced. |
Name | Status | Test Description |
---|---|---|
conf-sanity | Active | A set of unit tests that verify the configuration tools, and runs Lustre with multiple different setups to ensure correct operation in unusual system configurations. |
dne_sanity | Inactive | Run sanity parallel on different directories at the same time. |
insanity | Active | A set of tests that verify the multiple concurrent failure conditions. |
large-scale | Active | Large-scale tests that verify version-based recovery features. |
large-lun | Active | Large LUN test |
lfsck | Deprecated | Replaced by sanity-lfsck. |
lfsck-performance | Active | lfsck performance test for the cases: lfsck with load, lfsck during create, backup/restore, simulate upgrade from 1.8. |
liblustre | Deprecated | Run tests linked to liblustre client library |
lustre-rsync-test | Active | Verifies the lustre_rsync (replication) feature. |
metadata-updates | Active | Tests that metadata updates are properly completed when multiple clients create/delete files and modify the attributes of files. |
mmp | Active | Tests for multiple mount protection (MMP) feature. |
ost-pools | Active | Tests that exercises the OST pools feature. |
performance-sanity | Active | Performance mdsrate tests (small file create/open/delete, large file create/open/delete, lookup rate 10M file dir, lookup rate 10M file 10 dir, getattr small file, and getattr large files). |
parallel-scale | Active | Runs functional tests (connectathon, cascading_rw, write_disjoint, write_append_truncate, parallel_grouplock, statahead), performance tests (IOR, compilebench and metabench), and a stress test (simul). |
parallel-scale-cifs | Active | Tests Lustre exported via Samba and runs concurrent load compilebench, dbench, fsx, and iozone on Samba clients. The test assumes that Samba server and clients have necessary packages installed. |
parallel-scale-nfs | Active | Called by parallel-scale-nfsv3.sh and parallel-scale-nfsv4.sh with a version specified. |
parallel-scale-nfsv3 | Active | Provide setup nfs within auster framework |
parallel-scale-nfsv4 | Active | Provide setup nfs within auster framework |
posix | Active | Automate POSIX compliance testing. Assuming that the POSIX source already installed, on the system, setup loop back ext4 filesystem, then install, build and run POSIX binaries on ext4. Run POSIX again Lustre and compare results from ext4 and Lustre. |
racer | Active | Tests for filesystem race conditions by concurrently creating, moving, deleting, etc. a set of files. |
recovery-double-scale | Active | Failover test for all pair-wise combinations of node failures. |
recovery-mds-scale | Active | The server failover test: for a duration of 24 hours, repeatedly fail over a random facet (MDS or OST) at 10 minute intervals and verify that no application errors occur. |
recovery-random-scale | Active | Verifies client failure not affecting other clients. |
recovery-small | Active | A set of unit tests that verify RPC replay after communications failure. |
replay-dual | Active | A set of unit tests that verify the recovery from two clients after server failure. |
replay-ost-single | Active | A set of unit tests that verify recovery after OST failure. |
replay-single | Active | A set of unit tests that verify recovery after MDS failure. |
replay-vbr | Active | Verifies version-based recovery feature. |
runtests | Active | Simple basic regression test that verifies data persistence across write, unmount, and remount. This is one of the few tests that verifies data integrity across a full filesystem shutdown and remount, unlike many tests which at most only verify the existence/size of files. |
sanity | Active | A set of regression tests that verify operation under normal operating conditions. This tests a large number of unusual operations that have previously caused functional or data correctness issues with Lustre. Some of the tests are Lustre specific, and hook into the Lustre fault injection framework using the "lctl set_param fail_loc=X" command to activate triggers in the code to simulate unusual operating conditions that would otherwise be difficult or impossible to simulate. |
sanityn | Active | Tests that verify operations from two clients under normal operating conditions. This is done by mounting the same filesystem twice on a single client, in order to allow a single script/program to execute and verify filesystem operations on multiple "clients" without having to be a distributed program itself. |
sanity-benchmark | Active | Test basic functionality of the filesystem using simple benchmarks. Runs dbench, bonnie++, iozone, fsx, and pios. |
sanity-dom | Active | Sanity test the Data on MDT feature. |
sanity-flr | Active | Sanity test the File Level Redundancy feature. |
sanity-gss | Active | Verifies GSSAPI features. A mechanism-agnostic test suite for just the GSSAPI code itself using the gssnull security flavor, which in turn uses the null GSSAPI mechanism. |
sanity-hsm | Active | Sanity test for HSM feature. |
sanity-krb5 | Active | Verifies Kerberos features. |
sanity-lfsck | Active | Sanity test for lfsck |
sanity-lnet | Active | Sanity test for lnet |
sanity-pcc | Active | A set of tests verifying basic functionality of the Persistent Client Cache feature. |
sanity-pfl | Active | Sanity tests for the Progressive File Layout feature. |
sanity-quota | Active | A set of tests that verify filesystem quotas. |
sanity-scrub | Active | Verifies OI scrub functionality. |
sanity-sec | Active | Verifies Lustre identity features. , including UID/GID mapping |
scrub-performance | Active | Test OI scrub performance |
Benchmark Scripts
Name | Status | Script Description |
---|---|---|
lnet-selftest | Active | LNET self-test is a kernel module that runs over LNET and the Lustre network drivers (LNDs). It is designed to test the connection ability of the Lustre network, run regression tests of the Lustre network, and test performance of the Lustre network. |
obdfilter-survey | Active | This survey script does sequential I/O with varying numbers of threads and objects (files) by using lctl to drive the echo_client connected to local or remote obdfilter instances, or remote obdecho instances. It can be used to characterize the performance of the following Lustre components. |
sgpdd-survey | Active | This survey may be used to characterize the performance of a SCSI device. It simulates an OST serving multiple stripe files. The data gathered by it can help set expectations for the performance of a Lustre OST exporting the device. |
Auxiliary Tests and Benchmarks Tools
Name | Script Description |
---|---|
bonnie++ | Bonnie++ benchmark for creation, reading, and deleting many small files. |
dbench | Dbench benchmark for simulating N clients to produce the filesystem load. |
fsx | The file system exerciser was developed outside of Lustre and is intended to stress test unusual IO and file operations. It does buffered and mmap reads and writes with random size and offset, truncate, open, close on a file. It verifies data integrity after each step. A lustre-developed extension allows fsx to run against multiple mountpoints to verify distributed IO operation correctness. (Source Auster) |
iozone | Iozone benchmark for generating and measuring a variety of file operations. |
oos.sh | Script used to check out-of-space detection in sanity.sh test 64b. |
oos2.sh | Script used to check out-of-space detection with multiple writers in sanityn.sh test 15. |
pios | pios is a parallel IO simulator. It can simulate shared file per process and file per process IO. Used in sanity-benchmark. pios-1.2-wc1 is available from the build of the toolkit repo for various distributions, e.g. RHEL6 x86_64 https://build.whamcloud.com/job/toolkit/arch=x86_64,distro=el6/lastSuccessfulBuild/artifact/_topdir/RPMS/x86_64/ |