1
0
mirror of https://github.com/ceph/ceph synced 2025-03-11 02:39:05 +00:00
ceph/qa
Yin Congmin 3da4a9401c qa/suites/rbd/persistent-writeback-cache: add test case
Add the test case which size is 8GB, So that some problems that occur
only in test scenarios above 4GB may be found in this test. For example,
the variables of 32-bit may be unexpected value when it operates with
a 64 bit value.

Signed-off-by: Yin Congmin <congmin.yin@intel.com>
2021-11-12 17:31:00 +08:00
..
archs
btrfs
cephfs qa: only set frag confs for workloads 2021-10-07 15:08:34 -04:00
client
clusters
config
crontab qa/tests: added pacific-x suite to run on master 2021-10-28 16:11:50 -07:00
debug
distros Merge pull request from sebastian-philipp/rm-kubic 2021-09-03 11:44:44 +02:00
erasure-code
libceph
machine_types
mds
mon/bootstrap
mon_election
msgr
nightlies
objectstore
objectstore_cephfs
objectstore_debug
overrides qa/overrides/nvme_loop: reusable fragment to use nvme_loop devs 2021-10-08 16:06:28 -05:00
packages qa/packages: install ceph-volume 2021-09-19 21:51:19 -04:00
qa_scripts
rbd
releases
rgw
rgw_bucket_sharding
rgw_frontend rgw: remove the civetweb frontend from src and qa 2021-05-17 15:00:31 -04:00
rgw_pool_type
standalone tests: modify osd-scrub-repair to match PR changes 2021-10-20 06:42:51 +00:00
suites qa/suites/rbd/persistent-writeback-cache: add test case 2021-11-12 17:31:00 +08:00
tasks Merge PR into master 2021-11-01 15:27:13 -04:00
timezone
workunits qa/workunits/rbd: test map/attach with --show-cookie/--cookie options 2021-10-26 19:24:13 +05:30
.gitignore
.teuthology_branch
CMakeLists.txt qa/tox.ini: check for dead symlinks 2021-09-03 11:38:04 +02:00
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 qa: convert test_import.py to pytest 2021-07-02 10:35:19 +02:00
tox.ini qa: tox.ini: verify yaml syntax 2021-09-07 10:20:34 +02: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, 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