ceph/qa
Shyamsundar Ranganathan c52a7383d3 mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots
Subvolume snapshots required to be protected, prior to cloning the same.

Also, protected snapshots were not allowed to be unprotected or removed,
if there were in-flight clones, whose source was the snapshot being
removed.

The protection of snapshots explicitly is not required, as these can be
prevented from being removed based only on the in-flight clones checks.

This commit hence deprecates the additional protect/unprotect requirements
prior to cloning a snapshot.

In addition to deprecating the above, support to query a subvolume for
supported features, via the info command, is added. The feature list
is set to "clone" and "auto-protect", where the latter is useful to
decide if protect/unprotect commands are required or not.

Fixes: https://tracker.ceph.com/issues/45371

Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
2020-07-10 11:08:44 -04:00
..
archs
btrfs
cephfs
client
clusters
config
crontab qa/tests: removed mimic runs as EOL 2020-06-19 15:15:19 -07:00
debug
distros
erasure-code
libceph
machine_types
mds
mon/bootstrap
msgr
nightlies
objectstore
objectstore_cephfs
overrides
packages
qa_scripts
rbd
releases
rgw_bucket_sharding
rgw_frontend
rgw_pool_type
standalone qa/standalone: drop py2 support 2020-07-05 10:58:28 +08:00
suites Merge PR #33827 into master 2020-07-08 17:06:16 -07:00
tasks mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots 2020-07-10 11:08:44 -04:00
timezone
workunits Merge pull request #35979 from ivancich/wip-fix-orphan-list-teuthology 2020-07-08 16:15:46 -04:00
.gitignore
.teuthology_branch
CMakeLists.txt qa: drop flake8-py2 test 2020-06-23 23:00:56 +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 qa,src: update mypy to 0.782 2020-06-26 12:27:32 +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 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