ceph/qa
Jason Dillaman 484dc12089 qa/tasks/qemu: use unique clone directory to avoid race with workunit
If there is a workunit task associated with the same client, the two
tasks will attempt to clone the suite repo to the same directory.
Worse, if it's parallel tasks, the two clones will clobber each
other.

Fixes: http://tracker.ceph.com/issues/36542
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 5d56014c61b107dcb5d05c2221c2e844324f304c)
2018-10-24 10:30:43 -04:00
..
archs
btrfs qa/btrfs/test_rmdir_async_snap: remove binary file 2018-09-14 13:26:32 -04:00
cephfs qa: automate distro/kernel matrix for kclient 2018-09-06 10:23:59 -07:00
client
clusters
config
crontab Merge pull request #24139 from tchaikov/wip-fix-typos 2018-09-21 16:56:31 +08:00
debug
distros qa/distros: add openSUSE Leap 42.3 and 15.0 2018-10-02 21:36:49 +02:00
erasure-code qa/suites/rados/thrash-erasure-code: add clay 4+2 2018-09-27 18:56:21 +08:00
libceph
machine_types
mds
mon/bootstrap
mon_kv_backend
nightlies
objectstore
objectstore_cephfs
overrides
packages qa: do not install python3 packages in task.install 2018-08-03 17:02:51 +08:00
qa_scripts qa: fix typos 2018-09-21 12:41:42 +08:00
rbd
releases
rgw_frontend
rgw_pool_type
standalone qa/osd: fixup osd-rep-recov-eio.sh fails to parse pg dump 2018-10-16 02:18:22 +08:00
suites qa/suites/rados/thrash-erasure-code*/thrashers/*: less likely resv rejection injection 2018-10-18 17:17:41 -05:00
tasks qa/tasks/qemu: use unique clone directory to avoid race with workunit 2018-10-24 10:30:43 -04:00
timezone
workunits Merge PR #24494 into master 2018-10-14 13:11:11 -05:00
.gitignore
find-used-ports.sh
loopall.sh
Makefile
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh test: Allow directory specified to run-standalone.sh 2018-09-10 12:23:11 -07:00
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
tox.ini

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