ceph/qa
Sage Weil 4537b14b34 Merge PR #41574 into master
* refs/pull/41574/head:
	qa/tasks/vstart_runner: add LocalCluster.run
	qa/tasks/cephfs/test_nfs: fiddle with sudo
	mgr/nfs/export: some cleanup, minor refactoring
	mgr/nfs/cluster: remove unused @cluster_setter
	nfs/mgr: fix help message case
	doc/cephfs/fs-nfs-export: add note about export update behavior
	mgr/nfs: move user create/delete into helper
	mgr/nfs: refactor _delete_user helper
	mgr/nfs: refactor create_export_from_dict() helper
	mgr/nfs: keep 'nfs export get' around for backward-compat
	mgr/nfs: rename method
	qa/tasks/cephfs/test_nfs: test new export via apply
	doc/cephfs/fs-nfs-export: be consistent with cluster_id and _ vs -
	mgr/nfs: addr -> client_addr for 'nfs export create ...'
	mgr/nfs: fix tests
	mgr/nfs: 'nfs export get' -> 'nfs export info'
	mgr/nfs: binding -> pseudo_path
	mgr/nfs: more revisions based on review
	mgr/nfs: adjust NFSExceptoin errno arg
	doc/cephfs: update 'nfs export {get,apply}' docs
	mgr/nfs: merge FSExport back into ExportMgr
	doc/radosgw/nfs: document mgr/nfs way to add/remove rgw exports
	mgr/nfs: merge 'nfs export {update,import}' -> 'nfs export apply'
	mgr/nfs: test export creation and list
	mgr/nfs: test export_update (+ fixes)
	mgr/nfs: test Export.validate(); several fixes
	mgr/nfs: test that export <-> block+dict conversions go both ways
	mgr/nfs: clean up test a bit
	mgr/nfs/export: fix export validation
	mgr/nfs/export: fix tests
	mgr/nfs: handle option addr/client block in create_export()
	mgr/nfs: allow multiple addrs for new exports
	mgr/nfs: fix/finish rgw export
	mgr/nfs/module: clusterid -> cluster_id
	mgr/nfs/export: fix export_update_1 to type check
	mgr/nfs/cluster: fix type error
	mgr/nfs/export: wrap long lines
	mgr/nfs: ExportMgr._delete_export only works for cephfs for now
	mgr/nfs: Remove pool_ns from NFSCluster
	mgr/nfs: Remove ExportMgr.rados_namespace
	mgr/nfs: flake8
	mgr/nfs: Add type checking
	mgr/nfs: Add __eq__ method to Export
	mgr/nfs: Add some compatibility to mgr/dashboard
	mgr/nfs: Fix whitespace handling
	mgr/nfs: Copy unit tests from mgr/dashboard
	mgr/nfs: partially implement rgw export support
	mgr/nfs: abstract FSAL; add RGWFSAL
	mgr/nfs: refactor to merge 'update' and 'import' code
	mgr/nfs: add 'nfs export import' command
	mgr/nfs: refactor 'nfs export update' and export validation
	mgr/nfs: fix _fetch_export to distinguish between clusters
	mgr/nfs: move export ganesha conf translation into caller
	mgr/nfs: name nfs cephfs client key 'nfs.{cluster_id}.{export_id}'
	mgr/nfs: add --addr to 'nfs export create'
	mgr/nfs: add --squash to 'nfs export create'
	mgr/nfs/export_utils: include false but non-None items in config
	vstart.sh: enable nfs module
	mgr/cephadm: nfs: drop attr_expiration_time from top-level config
	mgr/cephadm: remove Dir_Chunk = 0

Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-06-26 10:41:27 -04:00
..
archs
btrfs
cephfs test: Add test for mgr hang when osd is full 2021-05-22 19:09:07 +05:30
client
clusters
config
crontab qa/tests: added client-upgrade-nautilus-pacific tests 2021-05-14 08:34:27 -07:00
debug
distros qa: update RHEL to 8.4 2021-06-03 12:44:35 -07:00
erasure-code
libceph
machine_types
mds
mon/bootstrap
mon_election
msgr
nightlies
objectstore
objectstore_cephfs
objectstore_debug
overrides
packages
qa_scripts
rbd
releases
rgw
rgw_bucket_sharding
rgw_frontend rgw: remove the civetweb frontend from src and qa 2021-05-17 15:00:31 -04:00
rgw_pool_type
standalone qa,pybind/mgr: allow disabling .mgr pool 2021-06-11 19:35:17 -07:00
suites Merge PR #41574 into master 2021-06-26 10:41:27 -04:00
tasks Merge PR #41574 into master 2021-06-26 10:41:27 -04:00
timezone
workunits Merge pull request #39624 from sebastian-philipp/mypy-812 2021-06-14 22:53:02 +08:00
.gitignore
.qa
.teuthology_branch
CMakeLists.txt
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 global,tox.ini: add mypy-constrains.txt 2021-06-16 12:37:46 +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, or a directory whose name ends with '$',
represents a test where one of the non-magic items is chosen randomly.  For
example, both

 suites/foo/$
 suites/foo/a.yaml
 suites/foo/b.yaml
 suites/foo/c.yaml

and

 suites/foo$/a.yaml
 suites/foo$/b.yaml
 suites/foo$/c.yaml

is a single test, either a, b or c.  This can be used in conjunction with the
'%' file in the same (see below) or other directories to run a series of tests
without causing an unwanted increase in the total number of jobs run.

Symlinks are okay.

One particular use of symlinks is to combine '%' and the latter form of '$'
feature.  Consider supported_distros directory containing fragments that define
os_type and os_version:

 supported_distros/%
 supported_distros/centos.yaml
 supported_distros/rhel.yaml
 supported_distros/ubuntu.yaml

A test that links supported_distros as distros (a name that doesn't end with
'$') will be run three times: on centos, rhel and ubuntu.  A test that links
supported_distros as distros$ will be run just once: either on centos, rhel or
ubuntu, chosen randomly.

The teuthology code can be found in https://github.com/ceph/teuthology.git