Skip to content

Files

This branch is 28195 commits behind ceph/ceph:main.

qa

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 14, 2016
Sep 14, 2018
May 22, 2021
Jul 27, 2017
Feb 19, 2020
Nov 27, 2020
May 14, 2021
Sep 16, 2020
Apr 7, 2021
Oct 15, 2020
Mar 6, 2018
Mar 4, 2021
Jul 27, 2017
May 21, 2012
Jul 8, 2020
Mar 20, 2019
Jul 27, 2017
Mar 3, 2021
Dec 5, 2018
Mar 3, 2021
Aug 24, 2020
Dec 24, 2019
Nov 24, 2020
Mar 17, 2021
Jan 28, 2021
Apr 5, 2021
Mar 27, 2020
May 17, 2021
Jan 2, 2020
May 18, 2021
Jun 4, 2021
Jun 9, 2021
Dec 14, 2016
Jun 3, 2021
Feb 19, 2019
Jan 6, 2021
Jun 2, 2020
Oct 14, 2020
Jul 5, 2013
Feb 3, 2021
Nov 22, 2017
Jul 27, 2017
Mar 5, 2020
Dec 19, 2019
Jul 27, 2017
Feb 27, 2021
Jul 27, 2017
Jul 27, 2017
Jul 27, 2017
Jul 27, 2017
Jul 27, 2017
Mar 26, 2020
Dec 9, 2020
Mar 2, 2021
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, or a directory whose name ends with '$',
represents a test where one of the non-magic items is chosen randomly.  For
example, both

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

and

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

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

Symlinks are okay.

One particular use of symlinks is to combine '%' and the latter form of '$'
feature.  Consider supported_distros directory containing fragments that define
os_type and os_version:

 supported_distros/%
 supported_distros/centos.yaml
 supported_distros/rhel.yaml
 supported_distros/ubuntu.yaml

A test that links supported_distros as distros (a name that doesn't end with
'$') will be run three times: on centos, rhel and ubuntu.  A test that links
supported_distros as distros$ will be run just once: either on centos, rhel or
ubuntu, chosen randomly.

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