ceph/qa
Xiubo Li 7ebd06441a qa: wait for 100 seconds to make sure the quota to be enforced
The worst case in kclient the dirty caps will be held for 60 seconds,
and also the MDS may defer updating the directory rstat for 5 seconds,
which is per tick, maybe longer if needs to wait for mdlog to flush.

Fixes: https://tracker.ceph.com/issues/59349
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2023-04-18 22:30:09 +08:00
..
archs
btrfs
cephfs qa: add one func to distiguish the mount syntax version 2023-03-29 09:08:20 +08:00
client
clusters
config qa/config/crimson_qa_overrides: set crimson experimental feature 2023-02-13 22:36:36 -08:00
crontab qa/crontab: check older builds on teuthology/nop when necessary 2023-03-30 10:38:14 -05:00
debug
distros qa: introduce postmerge for fuse/kclient mounts 2023-03-29 09:07:58 +08:00
erasure-code
libceph
machine_types qa: switch to https protocol for repos' server 2022-12-12 21:05:57 +08:00
mds
mgr_ttl_cache
mon/bootstrap
mon_election
msgr
nightlies
objectstore qa/suites: change all osd objectstore filestore 2023-02-12 06:11:29 +00:00
objectstore_cephfs qa/suites: change all osd objectstore filestore 2023-02-12 06:11:29 +00:00
objectstore_debug qa/suites: change all osd objectstore filestore 2023-02-12 06:11:29 +00:00
overrides Rename/re-symlink whitelist_*.yaml 2022-05-24 14:14:04 -06:00
packages
qa_scripts
rbd
releases doc, qa: stubs and clean up for reef 2022-09-20 14:29:47 +00:00
rgw rgw: add .yaml that configures s3tests branch for rgw suite 2022-07-12 16:21:27 -04:00
rgw_bucket_sharding
rgw_frontend
rgw_pool_type
standalone qa/standalone/scrub/osd-scrub-dump.sh: drop unnecessary primary lookup 2023-04-11 20:39:19 -07:00
suites qa/suites/rbd: install qemu-utils in addition to qemu-block-extra on Ubuntu 2023-04-12 15:37:44 +02:00
tasks qa: wait for 100 seconds to make sure the quota to be enforced 2023-04-18 22:30:09 +08:00
timezone
workunits Merge PR #50909 into main 2023-04-14 15:59:12 +05:30
.gitignore
.qa
CMakeLists.txt cmake: temporarily disable py3 test 2022-12-09 01:07:19 +08:00
find-used-ports.sh
loopall.sh
lsan.supp asan: add qa/lsan.supp for leak sanitizer suppressions 2023-03-07 13:33:57 -05:00
Makefile
mypy.ini
README
run_xfstests_qemu.sh qa: switch to curl for qemu-xfstests 2022-12-22 16:35:08 +01:00
run_xfstests-obsolete.sh qa: switch back to git protocol for qemu-xfstests 2022-12-21 19:27:15 +01:00
run_xfstests.sh
run-standalone.sh
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
test_import.py
tox.ini qa: add pytest to deps of py3 env 2022-12-08 23:57:59 +08:00
valgrind.supp qa: suppress memory leak in rocksdb 2023-03-06 21:59:49 +00:00

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