1
0
mirror of https://github.com/ceph/ceph synced 2025-03-31 16:25:56 +00:00
ceph/qa
xie xingguo d7ff33e9fd crush: get "ceph osd crush class create/rm" back
This reverts a27fd9d25c and
b863883ca7.

Quote form Sébastien Han:
> IIRC at some point, we were able to create a device class from the CLI.
Now it seems that the device class gets created when at least one OSD
of a particular class starts.
In ceph-ansible, we create pools after the initial monitors are up and
we want to assign a device crush class on some of them.
That's not possible at the moment since there no device class available yet.
Also, someone might want to create its own device class.
Something as crazy as running Filestore with a tmpfs osd store and
might want to isolate them.
I know it's a very limited use case, but still, it could be desired.

See also https://www.spinics.net/lists/ceph-devel/msg41152.html

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2018-10-16 08:45:49 +08: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 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 crush: get "ceph osd crush class create/rm" back 2018-10-16 08:45:49 +08:00
suites Merge PR into master 2018-10-12 16:29:44 -05:00
tasks qa/tasks/workunit: use suite branch/SHA1 when cloning workunits 2018-10-12 12:41:58 -04:00
timezone
workunits Merge PR 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