ceph/qa
Christopher Odom dcac50e322 mgr/dashboard: Added Versioning to the REST API
Versioning is handled by the RESTContoller decorators.
It works by adding a version attribute to the endpoint object,
which will be checked by the _request_wrapper against the requested
version before the controller method is dispatched.

This commit also updates all of the testing to support
version vendor mime types, as well as adding an http
interceptor to add versioned mime types to all frontend
requests.

Fixes: https://tracker.ceph.com/issues/40909
Signed-off-by: Avan Thakkar  <athakkar@redhat.com>
2020-10-28 19:33:39 +05:30
..
archs
btrfs
cephfs Merge PR #37629 into master 2020-10-25 16:26:36 -07:00
client
clusters
config
crontab qa/crontab/teuthology-cronjobs: add crimson-rados 2020-10-13 17:00:07 +00:00
debug qa: Enable debug_client for mgr tests 2020-09-16 12:16:23 +10:00
distros
erasure-code qa: drop hammer branch qa tests 2020-10-15 17:32:06 +05:30
libceph
machine_types qa: drop hammer branch qa tests 2020-10-15 17:32:06 +05:30
mds
mon/bootstrap
mon_election
msgr
nightlies
objectstore
objectstore_cephfs
overrides
packages
qa_scripts
rbd rbd: make common options override krbd-specific options 2020-09-24 10:50:24 +02:00
releases
rgw_bucket_sharding
rgw_frontend
rgw_pool_type
standalone Merge pull request #37483 from dzafman/wip-46405 2020-10-08 11:44:00 -07:00
suites Merge PR #37629 into master 2020-10-25 16:26:36 -07:00
tasks mgr/dashboard: Added Versioning to the REST API 2020-10-28 19:33:39 +05:30
timezone
workunits Merge pull request #37273 from trociny/wip-rbd-nbd-persist 2020-10-26 07:57:47 -04:00
.gitignore
.teuthology_branch
CMakeLists.txt cmake: do not always add py3 to TOX_ENVS 2020-10-14 15:30:37 +08: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
tox.ini
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 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