ceph/qa
Sage Weil ccda488815 crush/CrushWrapper: ensure crush_choose_arg_map.size == max_buckets
The crush/builder.c crush_add_bucket method resizes the max_buckets array
but a power of 2 when it has to expand, but the code in CrushWrapper was
assuming that if the array grew the pos for the new bucket would be the
last position in the new array.  This led to a situation where the
crush_choose_arg_map args array size didn't match max_buckets, and
eventually caused a crash.

Fixes: http://tracker.ceph.com/issues/38664
Signed-off-by: Sage Weil <sage@redhat.com>
2019-03-12 11:26:43 -05:00
..
archs
btrfs
cephfs Merge PR #26700 into master 2019-03-01 06:44:36 -08:00
client
clusters qa: update testing for standby-replay 2019-02-27 21:39:12 -08:00
config
crontab
debug
distros
erasure-code
libceph
machine_types
mds
mon/bootstrap
msgr
nightlies
objectstore
objectstore_cephfs
overrides qa/overrides/short_pg_log.yaml: reduce osd_{min,max}_pg_log_entries 2019-01-23 12:46:42 -08:00
packages qa: remove libcephfs-java tests 2019-02-28 13:32:15 -08:00
qa_scripts librados: revert librados3/libradoscc back to librados2 2019-02-20 14:59:26 -05:00
rbd qa: update krbd tests for zeroout 2019-02-03 10:57:07 +01:00
releases
rgw_frontend
rgw_pool_type
standalone Merge PR #26794 into master 2019-03-07 22:12:52 -06:00
suites Merge PR #26823 into master 2019-03-08 09:04:21 -06:00
tasks Merge pull request #26633 from jtlayton/wip-nfs-scale 2019-03-06 19:08:48 +01:00
timezone
workunits crush/CrushWrapper: ensure crush_choose_arg_map.size == max_buckets 2019-03-12 11:26:43 -05:00
.gitignore mgr: Ignore __pycache__ and wheelhouse dirs 2019-02-19 10:09:55 +01:00
find-used-ports.sh
loopall.sh
Makefile
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh run-standalone.sh: Need double-quotes to handle | in core_pattern 2019-02-14 16:50:14 -08: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