Test Descriptions

From Lustre Wiki
Revision as of 07:55, 29 April 2015 by Justinmiller (talk | contribs)
Jump to navigation Jump to search

The acceptance-small.sh script is a wrapper around auster that runs the test group 'regression' unless a test is specified.

Lustre Test Framework

Name Description
acceptance-small.sh 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.

Lustre Unit, Feature, and Regression Tests

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 Deprecated 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.
lfsck Deprecated Tests e2fsck and lfsck to detect and fix filesystem corruption. Use sanity-lfsck instead.
liblustre Deprecated Run tests linked to liblustre client library
lnet-selftest Active Runs LNET self test on hosts defined in test configuration.
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.
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).
ost-pools Active A tests that exercises the OST pools feature.
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-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.
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 Inactive Verifies Kerberos features.
sanity-lfsck Active Sanity test for lfsck
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

Benchmark Scripts

Name Status 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.
iozone Iozone benchmark for generating and measuring a variety of file operations.
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 Test

Name Status Script Description
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 HPDD Wiki Auster)