ceph/qa
Ronen Friedman 1323bdb839 qa/standalone/scrub/osd-recovery-scrub: fix unnoticed recovery state
The 'recovering' state is transitory. Existing code looks for it by
polling 'pg stat', missing from time to time.
New version searches the tails of the relevant OSDs' logs.

Fixes: https://tracker.ceph.com/issues/48719
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2021-01-04 13:29:41 +02:00
..
archs
btrfs
cephfs qa: use more OSDs for workload tests 2020-11-03 13:00:42 -08:00
client
clusters
config qa/config/rados.yaml: Test mon scrub 2020-11-27 12:58:06 +10:00
crontab qa/tasks/cephadm: include first mgr host when applying mgrs 2020-12-23 11:30:54 -08:00
debug
distros qa/distros: configure podman to pull from docker-mirror 2020-12-18 09:53:50 +00:00
erasure-code
libceph
machine_types
mds
mon/bootstrap
mon_election
msgr
nightlies
objectstore
objectstore_cephfs
overrides
packages
qa_scripts doc/dev: use http://docs.ceph.com/en/latest/ instead of /docs/master/ for docs 2020-11-24 12:49:47 +08:00
rbd
releases
rgw_bucket_sharding
rgw_frontend
rgw_pool_type
standalone qa/standalone/scrub/osd-recovery-scrub: fix unnoticed recovery state 2021-01-04 13:29:41 +02:00
suites qa/tasks/cephadm: include first mgr host when applying mgrs 2020-12-23 11:30:54 -08:00
tasks Merge PR #38037 into master 2020-12-23 20:33:47 -08:00
timezone
workunits Merge pull request #38638 from idryomov/wip-krbd-stable-writes-attr 2020-12-18 10:30:34 +01:00
.gitignore
.teuthology_branch
CMakeLists.txt
find-used-ports.sh
loopall.sh
Makefile
mypy.ini
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
test_import.py
tox.ini src,qa: Upgrade to mypy 0.790 2020-12-09 09:18:16 +01:00
valgrind.supp

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