]> git.proxmox.com Git - ceph.git/blame - ceph/qa/README
bump version to 18.2.4-pve3
[ceph.git] / ceph / qa / README
CommitLineData
7c673cae
FG
1ceph-qa-suite
2-------------
3
4clusters/ - some predefined cluster layouts
5suites/ - set suite
6
7The suites directory has a hierarchical collection of tests. This can be
8freeform, but generally follows the convention of
9
10 suites/<test suite name>/<test group>/...
11
12A test is described by a yaml fragment.
13
14A test can exist as a single .yaml file in the directory tree. For example:
15
16 suites/foo/one.yaml
17 suites/foo/two.yaml
18
19is a simple group of two tests.
20
21A directory with a magic '+' file represents a test that combines all
22other items in the directory into a single yaml fragment. For example:
23
24 suites/foo/bar/+
25 suites/foo/bar/a.yaml
26 suites/foo/bar/b.yaml
27 suites/foo/bar/c.yaml
28
29is a single test consisting of a + b + c.
30
31A directory with a magic '%' file represents a test matrix formed from
32all other items in the directory. For example,
33
34 suites/baz/%
35 suites/baz/a.yaml
36 suites/baz/b/b1.yaml
37 suites/baz/b/b2.yaml
38 suites/baz/c.yaml
39 suites/baz/d/d1.yaml
40 suites/baz/d/d2.yaml
41
42is a 4-dimensional test matrix. Two dimensions (a, c) are trivial (1
43item), so this is really 2x2 = 4 tests, which are
44
45 a + b1 + c + d1
46 a + b1 + c + d2
47 a + b2 + c + d1
48 a + b2 + c + d2
49
20effc67
TL
50A directory with a magic '$' file, or a directory whose name ends with '$',
51represents a test where one of the non-magic items is chosen randomly. For
52example, both
11fdf7f2 53
20effc67
TL
54 suites/foo/$
55 suites/foo/a.yaml
56 suites/foo/b.yaml
57 suites/foo/c.yaml
11fdf7f2 58
20effc67
TL
59and
60
61 suites/foo$/a.yaml
62 suites/foo$/b.yaml
63 suites/foo$/c.yaml
64
65is a single test, either a, b or c. This can be used in conjunction with the
66'%' file in the same (see below) or other directories to run a series of tests
67without causing an unwanted increase in the total number of jobs run.
11fdf7f2 68
7c673cae
FG
69Symlinks are okay.
70
20effc67
TL
71One particular use of symlinks is to combine '%' and the latter form of '$'
72feature. Consider supported_distros directory containing fragments that define
73os_type and os_version:
74
75 supported_distros/%
76 supported_distros/centos.yaml
77 supported_distros/rhel.yaml
78 supported_distros/ubuntu.yaml
79
80A test that links supported_distros as distros (a name that doesn't end with
81'$') will be run three times: on centos, rhel and ubuntu. A test that links
82supported_distros as distros$ will be run just once: either on centos, rhel or
83ubuntu, chosen randomly.
84
7c673cae 85The teuthology code can be found in https://github.com/ceph/teuthology.git