ceph/qa
John Spray d24e6cb32a mgr: generic self test command
Avoid need for each module to expose a self-test
command: they can just implement the method,
and then get it called via the selftest module.

As well as fewer LOC, this means that the self
test commands are not cluttering the interface
for end users, as they've invisible until
the selftest module is loaded.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-07-20 13:09:19 -04:00
..
archs
btrfs
cephfs Merge PR #21885 into master 2018-07-13 13:57:17 -07:00
client
clusters
config
crontab qa/tests - added mimic-p2p suite 2018-06-26 16:05:44 -07:00
debug
distros
erasure-code
libceph
machine_types
mds
mon/bootstrap
mon_kv_backend
nightlies
objectstore
objectstore_cephfs
overrides
packages
qa_scripts
rbd qa: krbd_msgr_segments.t: filter lvcreate output 2018-06-21 20:51:23 +02:00
releases
rgw_frontend
rgw_pool_type
standalone qa/standalone/osd/ec-error-rollforward: reproduce bug 24597 2018-07-11 16:15:49 -05:00
suites Merge pull request #22919 from liewegas/wip-rgw-cls-test 2018-07-20 10:01:36 -04:00
tasks mgr: generic self test command 2018-07-20 13:09:19 -04:00
timezone
workunits librbd: validate data pool for self-managed snapshot support 2018-07-15 09:05:52 +03:00
.gitignore
find-used-ports.sh
loopall.sh
Makefile
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh Merge PR #22343 into master 2018-06-19 07:07:55 -05:00
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
tox.ini

ceph-qa-suite
-------------

clusters/    - some predefined cluster layouts
suites/      - set suite

The suites directory has a hierarchical collection of tests.  This can be
freeform, but generally follows the convention of

  suites/<test suite name>/<test group>/...

A test is described by a yaml fragment.

A test can exist as a single .yaml file in the directory tree.  For example:

 suites/foo/one.yaml
 suites/foo/two.yaml

is a simple group of two tests.

A directory with a magic '+' file represents a test that combines all
other items in the directory into a single yaml fragment.  For example:

 suites/foo/bar/+
 suites/foo/bar/a.yaml
 suites/foo/bar/b.yaml
 suites/foo/bar/c.yaml

is a single test consisting of a + b + c.

A directory with a magic '%' file represents a test matrix formed from
all other items in the directory.  For example,

 suites/baz/%
 suites/baz/a.yaml
 suites/baz/b/b1.yaml
 suites/baz/b/b2.yaml
 suites/baz/c.yaml
 suites/baz/d/d1.yaml
 suites/baz/d/d2.yaml

is a 4-dimensional test matrix.  Two dimensions (a, c) are trivial (1
item), so this is really 2x2 = 4 tests, which are

  a + b1 + c + d1
  a + b1 + c + d2
  a + b2 + c + d1
  a + b2 + c + d2

A directory with a magic '$' file represents a test where one of the other
items is chosen randomly. For example,

suites/foo/$
suites/foo/a.yaml
suites/foo/b.yaml
suites/foo/c.yaml

is a single test.  It will be either a.yaml, b.yaml or c.yaml.  This can be
used in conjunction with the '%' file in other directories to run a series of
tests without causing an unwanted increase in the total number of jobs run.

Symlinks are okay.

The teuthology code can be found in https://github.com/ceph/teuthology.git