summaryrefslogtreecommitdiffstats
path: root/qa/suites/fs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
commit483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch)
treee5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /qa/suites/fs
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.zip
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
l---------qa/suites/fs/.qa1
-rw-r--r--qa/suites/fs/32bits/%0
l---------qa/suites/fs/32bits/.qa1
l---------qa/suites/fs/32bits/begin.yaml1
l---------qa/suites/fs/32bits/clusters/.qa1
l---------qa/suites/fs/32bits/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/32bits/conf1
l---------qa/suites/fs/32bits/mount/.qa1
l---------qa/suites/fs/32bits/mount/fuse.yaml1
l---------qa/suites/fs/32bits/objectstore-ec1
-rw-r--r--qa/suites/fs/32bits/overrides/+0
l---------qa/suites/fs/32bits/overrides/.qa1
-rw-r--r--qa/suites/fs/32bits/overrides/faked-ino.yaml5
l---------qa/suites/fs/32bits/overrides/frag_enable.yaml1
l---------qa/suites/fs/32bits/overrides/whitelist_health.yaml1
l---------qa/suites/fs/32bits/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/32bits/supported-random-distros$1
l---------qa/suites/fs/32bits/tasks/.qa1
l---------qa/suites/fs/32bits/tasks/cfuse_workunit_suites_fsstress.yaml1
-rw-r--r--qa/suites/fs/32bits/tasks/cfuse_workunit_suites_pjd.yaml12
-rw-r--r--qa/suites/fs/basic_functional/%0
l---------qa/suites/fs/basic_functional/.qa1
l---------qa/suites/fs/basic_functional/begin.yaml1
l---------qa/suites/fs/basic_functional/clusters/.qa1
l---------qa/suites/fs/basic_functional/clusters/1-mds-4-client-coloc.yaml1
l---------qa/suites/fs/basic_functional/conf1
l---------qa/suites/fs/basic_functional/mount/.qa1
l---------qa/suites/fs/basic_functional/mount/fuse.yaml1
l---------qa/suites/fs/basic_functional/objectstore/.qa1
l---------qa/suites/fs/basic_functional/objectstore/bluestore-bitmap.yaml1
l---------qa/suites/fs/basic_functional/objectstore/bluestore-ec-root.yaml1
-rw-r--r--qa/suites/fs/basic_functional/overrides/+0
l---------qa/suites/fs/basic_functional/overrides/.qa1
l---------qa/suites/fs/basic_functional/overrides/frag_enable.yaml1
l---------qa/suites/fs/basic_functional/overrides/no_client_pidfile.yaml1
l---------qa/suites/fs/basic_functional/overrides/whitelist_health.yaml1
l---------qa/suites/fs/basic_functional/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/basic_functional/supported-random-distros$1
l---------qa/suites/fs/basic_functional/tasks/.qa1
-rw-r--r--qa/suites/fs/basic_functional/tasks/admin.yaml11
-rw-r--r--qa/suites/fs/basic_functional/tasks/alternate-pool.yaml20
-rw-r--r--qa/suites/fs/basic_functional/tasks/asok_dump_tree.yaml4
-rw-r--r--qa/suites/fs/basic_functional/tasks/auto-repair.yaml13
-rw-r--r--qa/suites/fs/basic_functional/tasks/backtrace.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/cap-flush.yaml8
-rw-r--r--qa/suites/fs/basic_functional/tasks/cephfs-shell.yaml8
-rw-r--r--qa/suites/fs/basic_functional/tasks/cephfs_scrub_tests.yaml19
-rw-r--r--qa/suites/fs/basic_functional/tasks/cfuse_workunit_quota.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/client-limits.yaml19
-rw-r--r--qa/suites/fs/basic_functional/tasks/client-readahad.yaml4
-rw-r--r--qa/suites/fs/basic_functional/tasks/client-recovery.yaml17
-rw-r--r--qa/suites/fs/basic_functional/tasks/damage.yaml27
-rw-r--r--qa/suites/fs/basic_functional/tasks/data-scan.yaml20
-rw-r--r--qa/suites/fs/basic_functional/tasks/forward-scrub.yaml14
-rw-r--r--qa/suites/fs/basic_functional/tasks/fragment.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/journal-repair.yaml14
-rw-r--r--qa/suites/fs/basic_functional/tasks/libcephfs_python.yaml10
-rw-r--r--qa/suites/fs/basic_functional/tasks/mds-flush.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/mds-full.yaml37
-rw-r--r--qa/suites/fs/basic_functional/tasks/mds_creation_retry.yaml6
-rw-r--r--qa/suites/fs/basic_functional/tasks/openfiletable.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/pool-perm.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/quota.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/sessionmap/+0
l---------qa/suites/fs/basic_functional/tasks/sessionmap/.qa1
-rw-r--r--qa/suites/fs/basic_functional/tasks/sessionmap/sessionmap.yaml10
-rw-r--r--qa/suites/fs/basic_functional/tasks/strays.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/test_journal_migration.yaml5
-rw-r--r--qa/suites/fs/basic_functional/tasks/volume-client/%0
l---------qa/suites/fs/basic_functional/tasks/volume-client/.qa1
l---------qa/suites/fs/basic_functional/tasks/volume-client/task/.qa1
-rw-r--r--qa/suites/fs/basic_functional/tasks/volume-client/task/test/+0
l---------qa/suites/fs/basic_functional/tasks/volume-client/task/test/.qa1
-rw-r--r--qa/suites/fs/basic_functional/tasks/volume-client/task/test/test.yaml8
-rw-r--r--qa/suites/fs/basic_functional/tasks/volumes.yaml20
-rw-r--r--qa/suites/fs/basic_workload/%0
l---------qa/suites/fs/basic_workload/.qa1
l---------qa/suites/fs/basic_workload/begin.yaml1
l---------qa/suites/fs/basic_workload/clusters/.qa1
l---------qa/suites/fs/basic_workload/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/basic_workload/conf1
l---------qa/suites/fs/basic_workload/inline/.qa1
-rw-r--r--qa/suites/fs/basic_workload/inline/no.yaml0
-rw-r--r--qa/suites/fs/basic_workload/inline/yes.yaml4
l---------qa/suites/fs/basic_workload/mount/.qa1
l---------qa/suites/fs/basic_workload/mount/fuse.yaml1
l---------qa/suites/fs/basic_workload/objectstore-ec1
l---------qa/suites/fs/basic_workload/omap_limit/.qa1
-rw-r--r--qa/suites/fs/basic_workload/omap_limit/10.yaml5
-rw-r--r--qa/suites/fs/basic_workload/omap_limit/10000.yaml5
-rw-r--r--qa/suites/fs/basic_workload/overrides/+0
l---------qa/suites/fs/basic_workload/overrides/.qa1
l---------qa/suites/fs/basic_workload/overrides/frag_enable.yaml1
l---------qa/suites/fs/basic_workload/overrides/session_timeout.yaml1
l---------qa/suites/fs/basic_workload/overrides/whitelist_health.yaml1
l---------qa/suites/fs/basic_workload/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/basic_workload/supported-random-distros$1
l---------qa/suites/fs/basic_workload/tasks/.qa1
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_kernel_untar_build.yaml14
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc.yaml10
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc_test_o_trunc.yaml5
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_norstats.yaml15
l---------qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_blogbench.yaml1
l---------qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_dbench.yaml1
l---------qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_ffsb.yaml1
l---------qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsstress.yaml1
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsx.yaml9
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsync.yaml5
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iogen.yaml6
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iozone.yaml5
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_pjd.yaml12
-rw-r--r--qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_truncate_delay.yaml14
l---------qa/suites/fs/basic_workload/tasks/cfuse_workunit_trivial_sync.yaml1
l---------qa/suites/fs/basic_workload/tasks/libcephfs_interface_tests.yaml1
l---------qa/suites/fs/bugs/.qa1
-rw-r--r--qa/suites/fs/bugs/client_trim_caps/%0
l---------qa/suites/fs/bugs/client_trim_caps/.qa1
l---------qa/suites/fs/bugs/client_trim_caps/begin.yaml1
l---------qa/suites/fs/bugs/client_trim_caps/clusters/.qa1
-rw-r--r--qa/suites/fs/bugs/client_trim_caps/clusters/small-cluster.yaml11
l---------qa/suites/fs/bugs/client_trim_caps/conf1
l---------qa/suites/fs/bugs/client_trim_caps/objectstore/.qa1
l---------qa/suites/fs/bugs/client_trim_caps/objectstore/bluestore-bitmap.yaml1
-rw-r--r--qa/suites/fs/bugs/client_trim_caps/overrides/+0
l---------qa/suites/fs/bugs/client_trim_caps/overrides/.qa1
l---------qa/suites/fs/bugs/client_trim_caps/overrides/frag_enable.yaml1
l---------qa/suites/fs/bugs/client_trim_caps/overrides/no_client_pidfile.yaml1
l---------qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_health.yaml1
l---------qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/bugs/client_trim_caps/tasks/.qa1
-rw-r--r--qa/suites/fs/bugs/client_trim_caps/tasks/trim-i22073.yaml20
-rw-r--r--qa/suites/fs/multiclient/%0
l---------qa/suites/fs/multiclient/.qa1
l---------qa/suites/fs/multiclient/begin.yaml1
l---------qa/suites/fs/multiclient/clusters/.qa1
l---------qa/suites/fs/multiclient/clusters/1-mds-2-client.yaml1
l---------qa/suites/fs/multiclient/clusters/1-mds-3-client.yaml1
l---------qa/suites/fs/multiclient/conf1
l---------qa/suites/fs/multiclient/distros/.qa1
l---------qa/suites/fs/multiclient/distros/ubuntu_latest.yaml1
l---------qa/suites/fs/multiclient/mount/.qa1
l---------qa/suites/fs/multiclient/mount/fuse.yaml1
-rw-r--r--qa/suites/fs/multiclient/mount/kclient.yaml.disabled7
l---------qa/suites/fs/multiclient/objectstore-ec1
-rw-r--r--qa/suites/fs/multiclient/overrides/+0
l---------qa/suites/fs/multiclient/overrides/.qa1
l---------qa/suites/fs/multiclient/overrides/frag_enable.yaml1
l---------qa/suites/fs/multiclient/overrides/whitelist_health.yaml1
l---------qa/suites/fs/multiclient/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/multiclient/tasks/.qa1
-rw-r--r--qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml13
-rw-r--r--qa/suites/fs/multiclient/tasks/fsx-mpi.yaml.disabled17
-rw-r--r--qa/suites/fs/multiclient/tasks/ior-shared-file.yaml23
-rw-r--r--qa/suites/fs/multiclient/tasks/mdtest.yaml20
-rw-r--r--qa/suites/fs/multifs/%0
l---------qa/suites/fs/multifs/.qa1
l---------qa/suites/fs/multifs/begin.yaml1
l---------qa/suites/fs/multifs/clusters/.qa1
l---------qa/suites/fs/multifs/clusters/1a3s-mds-2c-client.yaml1
l---------qa/suites/fs/multifs/conf1
l---------qa/suites/fs/multifs/mount/.qa1
l---------qa/suites/fs/multifs/mount/fuse.yaml1
l---------qa/suites/fs/multifs/objectstore-ec1
-rw-r--r--qa/suites/fs/multifs/overrides/+0
l---------qa/suites/fs/multifs/overrides/.qa1
l---------qa/suites/fs/multifs/overrides/frag_enable.yaml1
-rw-r--r--qa/suites/fs/multifs/overrides/mon-debug.yaml5
l---------qa/suites/fs/multifs/overrides/whitelist_health.yaml1
l---------qa/suites/fs/multifs/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/multifs/supported-random-distros$1
l---------qa/suites/fs/multifs/tasks/.qa1
-rw-r--r--qa/suites/fs/multifs/tasks/failover.yaml14
-rw-r--r--qa/suites/fs/permission/%0
l---------qa/suites/fs/permission/.qa1
l---------qa/suites/fs/permission/begin.yaml1
l---------qa/suites/fs/permission/clusters/.qa1
l---------qa/suites/fs/permission/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/permission/conf1
l---------qa/suites/fs/permission/mount/.qa1
l---------qa/suites/fs/permission/mount/fuse.yaml1
l---------qa/suites/fs/permission/objectstore-ec1
-rw-r--r--qa/suites/fs/permission/overrides/+0
l---------qa/suites/fs/permission/overrides/.qa1
l---------qa/suites/fs/permission/overrides/frag_enable.yaml1
l---------qa/suites/fs/permission/overrides/whitelist_health.yaml1
l---------qa/suites/fs/permission/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/permission/supported-random-distros$1
l---------qa/suites/fs/permission/tasks/.qa1
-rw-r--r--qa/suites/fs/permission/tasks/cfuse_workunit_misc.yaml12
-rw-r--r--qa/suites/fs/permission/tasks/cfuse_workunit_suites_pjd.yaml13
-rw-r--r--qa/suites/fs/snaps/%0
l---------qa/suites/fs/snaps/.qa1
l---------qa/suites/fs/snaps/begin.yaml1
l---------qa/suites/fs/snaps/clusters/.qa1
l---------qa/suites/fs/snaps/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/snaps/conf1
l---------qa/suites/fs/snaps/mount/.qa1
l---------qa/suites/fs/snaps/mount/fuse.yaml1
l---------qa/suites/fs/snaps/objectstore-ec1
-rw-r--r--qa/suites/fs/snaps/overrides/+0
l---------qa/suites/fs/snaps/overrides/.qa1
l---------qa/suites/fs/snaps/overrides/frag_enable.yaml1
l---------qa/suites/fs/snaps/overrides/whitelist_health.yaml1
l---------qa/suites/fs/snaps/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/snaps/supported-random-distros$1
l---------qa/suites/fs/snaps/tasks/.qa1
-rw-r--r--qa/suites/fs/snaps/tasks/snaptests.yaml5
-rw-r--r--qa/suites/fs/thrash/%0
l---------qa/suites/fs/thrash/.qa1
l---------qa/suites/fs/thrash/begin.yaml1
l---------qa/suites/fs/thrash/ceph-thrash/.qa1
-rw-r--r--qa/suites/fs/thrash/ceph-thrash/default.yaml7
l---------qa/suites/fs/thrash/clusters/.qa1
l---------qa/suites/fs/thrash/clusters/1-mds-1-client-coloc.yaml1
l---------qa/suites/fs/thrash/conf1
l---------qa/suites/fs/thrash/mount/.qa1
l---------qa/suites/fs/thrash/mount/fuse.yaml1
l---------qa/suites/fs/thrash/msgr-failures/.qa1
-rw-r--r--qa/suites/fs/thrash/msgr-failures/none.yaml0
-rw-r--r--qa/suites/fs/thrash/msgr-failures/osd-mds-delay.yaml10
l---------qa/suites/fs/thrash/objectstore-ec1
-rw-r--r--qa/suites/fs/thrash/overrides/+0
l---------qa/suites/fs/thrash/overrides/.qa1
l---------qa/suites/fs/thrash/overrides/frag_enable.yaml1
l---------qa/suites/fs/thrash/overrides/session_timeout.yaml1
l---------qa/suites/fs/thrash/overrides/whitelist_health.yaml1
l---------qa/suites/fs/thrash/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/thrash/supported-random-distros$1
l---------qa/suites/fs/thrash/tasks/.qa1
-rw-r--r--qa/suites/fs/thrash/tasks/cfuse_workunit_snaptests.yaml5
l---------qa/suites/fs/thrash/tasks/cfuse_workunit_suites_fsstress.yaml1
-rw-r--r--qa/suites/fs/thrash/tasks/cfuse_workunit_suites_pjd.yaml12
l---------qa/suites/fs/thrash/tasks/cfuse_workunit_trivial_sync.yaml1
-rw-r--r--qa/suites/fs/traceless/%0
l---------qa/suites/fs/traceless/.qa1
l---------qa/suites/fs/traceless/begin.yaml1
l---------qa/suites/fs/traceless/clusters/.qa1
l---------qa/suites/fs/traceless/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/traceless/conf1
l---------qa/suites/fs/traceless/mount/.qa1
l---------qa/suites/fs/traceless/mount/fuse.yaml1
l---------qa/suites/fs/traceless/objectstore-ec1
-rw-r--r--qa/suites/fs/traceless/overrides/+0
l---------qa/suites/fs/traceless/overrides/.qa1
l---------qa/suites/fs/traceless/overrides/frag_enable.yaml1
l---------qa/suites/fs/traceless/overrides/whitelist_health.yaml1
l---------qa/suites/fs/traceless/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/traceless/supported-random-distros$1
l---------qa/suites/fs/traceless/tasks/.qa1
l---------qa/suites/fs/traceless/tasks/cfuse_workunit_suites_blogbench.yaml1
l---------qa/suites/fs/traceless/tasks/cfuse_workunit_suites_dbench.yaml1
l---------qa/suites/fs/traceless/tasks/cfuse_workunit_suites_ffsb.yaml1
l---------qa/suites/fs/traceless/tasks/cfuse_workunit_suites_fsstress.yaml1
l---------qa/suites/fs/traceless/traceless/.qa1
-rw-r--r--qa/suites/fs/traceless/traceless/50pc.yaml5
l---------qa/suites/fs/upgrade/.qa1
l---------qa/suites/fs/upgrade/featureful_client/.qa1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/%0
l---------qa/suites/fs/upgrade/featureful_client/old_client/.qa1
l---------qa/suites/fs/upgrade/featureful_client/old_client/bluestore-bitmap.yaml1
l---------qa/suites/fs/upgrade/featureful_client/old_client/clusters/.qa1
l---------qa/suites/fs/upgrade/featureful_client/old_client/clusters/1-mds-2-client-micro.yaml1
l---------qa/suites/fs/upgrade/featureful_client/old_client/conf1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/overrides/%0
l---------qa/suites/fs/upgrade/featureful_client/old_client/overrides/.qa1
l---------qa/suites/fs/upgrade/featureful_client/old_client/overrides/frag_enable.yaml1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/no.yaml4
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/yes.yaml4
l---------qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_health.yaml1
l---------qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_wrongly_marked_down.yaml1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/%0
l---------qa/suites/fs/upgrade/featureful_client/old_client/tasks/.qa1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/0-luminous.yaml41
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/1-client.yaml8
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml56
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/mimic.yaml10
-rw-r--r--qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/no.yaml6
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/%0
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/.qa1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/bluestore-bitmap.yaml1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/.qa1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/1-mds-2-client-micro.yaml1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/conf1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/%0
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/.qa1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/frag_enable.yaml1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/no.yaml4
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/yes.yaml4
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_health.yaml1
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_wrongly_marked_down.yaml1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/%0
l---------qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/.qa1
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/0-luminous.yaml41
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/1-client.yaml11
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml56
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/3-client-upgrade.yaml14
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/4-compat_client.yaml13
-rw-r--r--qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/5-client-sanity.yaml6
-rw-r--r--qa/suites/fs/upgrade/snaps/%0
l---------qa/suites/fs/upgrade/snaps/.qa1
l---------qa/suites/fs/upgrade/snaps/clusters/.qa1
l---------qa/suites/fs/upgrade/snaps/clusters/3-mds.yaml1
l---------qa/suites/fs/upgrade/snaps/conf1
l---------qa/suites/fs/upgrade/snaps/objectstore-ec1
-rw-r--r--qa/suites/fs/upgrade/snaps/overrides/%0
l---------qa/suites/fs/upgrade/snaps/overrides/.qa1
l---------qa/suites/fs/upgrade/snaps/overrides/frag_enable.yaml1
l---------qa/suites/fs/upgrade/snaps/overrides/multimds/.qa1
-rw-r--r--qa/suites/fs/upgrade/snaps/overrides/multimds/no.yaml3
-rw-r--r--qa/suites/fs/upgrade/snaps/overrides/multimds/yes.yaml3
l---------qa/suites/fs/upgrade/snaps/overrides/whitelist_health.yaml1
-rw-r--r--qa/suites/fs/upgrade/snaps/overrides/whitelist_rstat.yaml8
l---------qa/suites/fs/upgrade/snaps/overrides/whitelist_wrongly_marked_down.yaml1
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/%0
l---------qa/suites/fs/upgrade/snaps/tasks/.qa1
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/0-luminous.yaml41
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/1-client.yaml13
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/2-upgrade.yaml19
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/3-sanity.yaml10
l---------qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/.qa1
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/no.yaml0
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/yes.yaml10
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/5-client-sanity.yaml10
-rw-r--r--qa/suites/fs/upgrade/snaps/tasks/6-snap-upgrade.yaml16
l---------qa/suites/fs/upgrade/snaps/tasks/7-client-sanity.yaml1
l---------qa/suites/fs/upgrade/volumes/.qa1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/%0
l---------qa/suites/fs/upgrade/volumes/import-legacy/.qa1
l---------qa/suites/fs/upgrade/volumes/import-legacy/bluestore-bitmap.yaml1
l---------qa/suites/fs/upgrade/volumes/import-legacy/clusters/.qa1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/clusters/1-mds-2-client-micro.yaml7
l---------qa/suites/fs/upgrade/volumes/import-legacy/conf1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/overrides/+0
l---------qa/suites/fs/upgrade/volumes/import-legacy/overrides/.qa1
l---------qa/suites/fs/upgrade/volumes/import-legacy/overrides/frag_enable.yaml1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/overrides/pg-warn.yaml5
l---------qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_health.yaml1
l---------qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_wrongly_marked_down.yaml1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/tasks/%0
l---------qa/suites/fs/upgrade/volumes/import-legacy/tasks/.qa1
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/tasks/0-mimic.yaml42
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/tasks/1-client.yaml33
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/tasks/2-upgrade.yaml54
-rw-r--r--qa/suites/fs/upgrade/volumes/import-legacy/tasks/3-verify.yaml25
l---------qa/suites/fs/upgrade/volumes/import-legacy/ubuntu_18.04.yaml1
-rw-r--r--qa/suites/fs/verify/%0
l---------qa/suites/fs/verify/.qa1
l---------qa/suites/fs/verify/begin.yaml1
l---------qa/suites/fs/verify/centos_latest.yaml1
l---------qa/suites/fs/verify/clusters/.qa1
l---------qa/suites/fs/verify/clusters/fixed-2-ucephfs.yaml1
l---------qa/suites/fs/verify/conf1
l---------qa/suites/fs/verify/mount/.qa1
l---------qa/suites/fs/verify/mount/fuse.yaml1
l---------qa/suites/fs/verify/objectstore-ec1
-rw-r--r--qa/suites/fs/verify/overrides/+0
l---------qa/suites/fs/verify/overrides/.qa1
l---------qa/suites/fs/verify/overrides/frag_enable.yaml1
-rw-r--r--qa/suites/fs/verify/overrides/mon-debug.yaml6
l---------qa/suites/fs/verify/overrides/session_timeout.yaml1
l---------qa/suites/fs/verify/overrides/whitelist_health.yaml1
l---------qa/suites/fs/verify/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/fs/verify/tasks/.qa1
l---------qa/suites/fs/verify/tasks/cfuse_workunit_suites_dbench.yaml1
l---------qa/suites/fs/verify/tasks/cfuse_workunit_suites_fsstress.yaml1
l---------qa/suites/fs/verify/validater/.qa1
-rw-r--r--qa/suites/fs/verify/validater/lockdep.yaml5
-rw-r--r--qa/suites/fs/verify/validater/valgrind.yaml29
368 files changed, 1509 insertions, 0 deletions
diff --git a/qa/suites/fs/.qa b/qa/suites/fs/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/% b/qa/suites/fs/32bits/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/32bits/%
diff --git a/qa/suites/fs/32bits/.qa b/qa/suites/fs/32bits/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/32bits/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/begin.yaml b/qa/suites/fs/32bits/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/32bits/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/clusters/.qa b/qa/suites/fs/32bits/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/32bits/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/32bits/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/32bits/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/conf b/qa/suites/fs/32bits/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/32bits/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/32bits/mount/.qa b/qa/suites/fs/32bits/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/32bits/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/mount/fuse.yaml b/qa/suites/fs/32bits/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/32bits/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/objectstore-ec b/qa/suites/fs/32bits/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/32bits/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/32bits/overrides/+ b/qa/suites/fs/32bits/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/+
diff --git a/qa/suites/fs/32bits/overrides/.qa b/qa/suites/fs/32bits/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/overrides/faked-ino.yaml b/qa/suites/fs/32bits/overrides/faked-ino.yaml
new file mode 100644
index 00000000..102df684
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/faked-ino.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ client use faked inos: true
diff --git a/qa/suites/fs/32bits/overrides/frag_enable.yaml b/qa/suites/fs/32bits/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/overrides/whitelist_health.yaml b/qa/suites/fs/32bits/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/32bits/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/32bits/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/supported-random-distros$ b/qa/suites/fs/32bits/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/32bits/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/tasks/.qa b/qa/suites/fs/32bits/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/32bits/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_fsstress.yaml b/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_fsstress.yaml
new file mode 120000
index 00000000..c2e859ff
--- /dev/null
+++ b/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_fsstress.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_fsstress.yaml \ No newline at end of file
diff --git a/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_pjd.yaml b/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_pjd.yaml
new file mode 100644
index 00000000..37e315f7
--- /dev/null
+++ b/qa/suites/fs/32bits/tasks/cfuse_workunit_suites_pjd.yaml
@@ -0,0 +1,12 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse set user groups: true
+ fuse default permissions: false
+tasks:
+- workunit:
+ timeout: 6h
+ clients:
+ all:
+ - suites/pjd.sh
diff --git a/qa/suites/fs/basic_functional/% b/qa/suites/fs/basic_functional/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/%
diff --git a/qa/suites/fs/basic_functional/.qa b/qa/suites/fs/basic_functional/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/begin.yaml b/qa/suites/fs/basic_functional/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/clusters/.qa b/qa/suites/fs/basic_functional/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/clusters/1-mds-4-client-coloc.yaml b/qa/suites/fs/basic_functional/clusters/1-mds-4-client-coloc.yaml
new file mode 120000
index 00000000..e5444ae2
--- /dev/null
+++ b/qa/suites/fs/basic_functional/clusters/1-mds-4-client-coloc.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-4-client-coloc.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/conf b/qa/suites/fs/basic_functional/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/basic_functional/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/mount/.qa b/qa/suites/fs/basic_functional/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/mount/fuse.yaml b/qa/suites/fs/basic_functional/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/objectstore/.qa b/qa/suites/fs/basic_functional/objectstore/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/objectstore/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/objectstore/bluestore-bitmap.yaml b/qa/suites/fs/basic_functional/objectstore/bluestore-bitmap.yaml
new file mode 120000
index 00000000..a59cf517
--- /dev/null
+++ b/qa/suites/fs/basic_functional/objectstore/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+.qa/objectstore/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/objectstore/bluestore-ec-root.yaml b/qa/suites/fs/basic_functional/objectstore/bluestore-ec-root.yaml
new file mode 120000
index 00000000..4edebd68
--- /dev/null
+++ b/qa/suites/fs/basic_functional/objectstore/bluestore-ec-root.yaml
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec/bluestore-ec-root.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/overrides/+ b/qa/suites/fs/basic_functional/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/+
diff --git a/qa/suites/fs/basic_functional/overrides/.qa b/qa/suites/fs/basic_functional/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/overrides/frag_enable.yaml b/qa/suites/fs/basic_functional/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/overrides/no_client_pidfile.yaml b/qa/suites/fs/basic_functional/overrides/no_client_pidfile.yaml
new file mode 120000
index 00000000..8888f332
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/no_client_pidfile.yaml
@@ -0,0 +1 @@
+.qa/overrides/no_client_pidfile.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/overrides/whitelist_health.yaml b/qa/suites/fs/basic_functional/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/basic_functional/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/supported-random-distros$ b/qa/suites/fs/basic_functional/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/basic_functional/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/.qa b/qa/suites/fs/basic_functional/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/admin.yaml b/qa/suites/fs/basic_functional/tasks/admin.yaml
new file mode 100644
index 00000000..ef40ef93
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/admin.yaml
@@ -0,0 +1,11 @@
+
+overrides:
+ ceph:
+ conf:
+ global:
+ lockdep: true
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_admin
diff --git a/qa/suites/fs/basic_functional/tasks/alternate-pool.yaml b/qa/suites/fs/basic_functional/tasks/alternate-pool.yaml
new file mode 100644
index 00000000..94d5cc6f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/alternate-pool.yaml
@@ -0,0 +1,20 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace
+ - object missing on disk
+ - error reading table object
+ - error reading sessionmap
+ - unmatched fragstat
+ - unmatched rstat
+ - was unreadable, recreating it now
+ - Scrub error on inode
+ - Metadata damage detected
+ - MDS_FAILED
+ - MDS_DAMAGE
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_recovery_pool
diff --git a/qa/suites/fs/basic_functional/tasks/asok_dump_tree.yaml b/qa/suites/fs/basic_functional/tasks/asok_dump_tree.yaml
new file mode 100644
index 00000000..7fa56147
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/asok_dump_tree.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_dump_tree
diff --git a/qa/suites/fs/basic_functional/tasks/auto-repair.yaml b/qa/suites/fs/basic_functional/tasks/auto-repair.yaml
new file mode 100644
index 00000000..90d0e7bc
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/auto-repair.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - force file system read-only
+ - bad backtrace
+ - MDS in read-only mode
+ - \(MDS_READ_ONLY\)
+
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_auto_repair
diff --git a/qa/suites/fs/basic_functional/tasks/backtrace.yaml b/qa/suites/fs/basic_functional/tasks/backtrace.yaml
new file mode 100644
index 00000000..d740a5f6
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/backtrace.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_backtrace
diff --git a/qa/suites/fs/basic_functional/tasks/cap-flush.yaml b/qa/suites/fs/basic_functional/tasks/cap-flush.yaml
new file mode 100644
index 00000000..f063654a
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/cap-flush.yaml
@@ -0,0 +1,8 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - Replacing daemon mds.a
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_cap_flush
diff --git a/qa/suites/fs/basic_functional/tasks/cephfs-shell.yaml b/qa/suites/fs/basic_functional/tasks/cephfs-shell.yaml
new file mode 100644
index 00000000..93c1eb54
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/cephfs-shell.yaml
@@ -0,0 +1,8 @@
+# Right now, cephfs-shell is only available as a package on Ubuntu
+# This overrides the random distribution that's chosen in the other yaml fragments.
+os_type: ubuntu
+os_version: "18.04"
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_cephfs_shell
diff --git a/qa/suites/fs/basic_functional/tasks/cephfs_scrub_tests.yaml b/qa/suites/fs/basic_functional/tasks/cephfs_scrub_tests.yaml
new file mode 100644
index 00000000..a8661214
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/cephfs_scrub_tests.yaml
@@ -0,0 +1,19 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - Replacing daemon mds
+ - Scrub error on inode
+ - Behind on trimming
+ - Metadata damage detected
+ - bad backtrace on inode
+ - overall HEALTH_
+ - \(MDS_TRIM\)
+ conf:
+ mds:
+ mds log max segments: 1
+ mds cache max size: 1000
+tasks:
+- cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_scrub_checks
+ - tasks.cephfs.test_scrub
diff --git a/qa/suites/fs/basic_functional/tasks/cfuse_workunit_quota.yaml b/qa/suites/fs/basic_functional/tasks/cfuse_workunit_quota.yaml
new file mode 100644
index 00000000..7ac8714c
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/cfuse_workunit_quota.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/quota
diff --git a/qa/suites/fs/basic_functional/tasks/client-limits.yaml b/qa/suites/fs/basic_functional/tasks/client-limits.yaml
new file mode 100644
index 00000000..635d0b6d
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/client-limits.yaml
@@ -0,0 +1,19 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - responding to mclientcaps\(revoke\)
+ - not advance its oldest_client_tid
+ - failing to advance its oldest client/flush tid
+ - Too many inodes in cache
+ - failing to respond to cache pressure
+ - slow requests are blocked
+ - failing to respond to capability release
+ - MDS cache is too large
+ - \(MDS_CLIENT_OLDEST_TID\)
+ - \(MDS_CACHE_OVERSIZED\)
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_client_limits
diff --git a/qa/suites/fs/basic_functional/tasks/client-readahad.yaml b/qa/suites/fs/basic_functional/tasks/client-readahad.yaml
new file mode 100644
index 00000000..1d178e52
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/client-readahad.yaml
@@ -0,0 +1,4 @@
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_readahead
diff --git a/qa/suites/fs/basic_functional/tasks/client-recovery.yaml b/qa/suites/fs/basic_functional/tasks/client-recovery.yaml
new file mode 100644
index 00000000..d1cef802
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/client-recovery.yaml
@@ -0,0 +1,17 @@
+
+# The task interferes with the network, so we need
+# to permit OSDs to complain about that.
+overrides:
+ ceph:
+ log-whitelist:
+ - evicting unresponsive client
+ - but it is still running
+ - slow request
+ - MDS_CLIENT_LATE_RELEASE
+ - t responding to mclientcaps
+
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_client_recovery
diff --git a/qa/suites/fs/basic_functional/tasks/damage.yaml b/qa/suites/fs/basic_functional/tasks/damage.yaml
new file mode 100644
index 00000000..9ae738f0
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/damage.yaml
@@ -0,0 +1,27 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace
+ - object missing on disk
+ - error reading table object
+ - error reading sessionmap
+ - Error loading MDS rank
+ - missing journal object
+ - Error recovering journal
+ - error decoding table object
+ - failed to read JournalPointer
+ - Corrupt directory entry
+ - Corrupt fnode header
+ - corrupt sessionmap header
+ - Corrupt dentry
+ - Scrub error on inode
+ - Metadata damage detected
+ - MDS_READ_ONLY
+ - force file system read-only
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_damage
+
diff --git a/qa/suites/fs/basic_functional/tasks/data-scan.yaml b/qa/suites/fs/basic_functional/tasks/data-scan.yaml
new file mode 100644
index 00000000..0a2eb0d4
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/data-scan.yaml
@@ -0,0 +1,20 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace
+ - object missing on disk
+ - error reading table object
+ - error reading sessionmap
+ - unmatched fragstat
+ - unmatched rstat
+ - was unreadable, recreating it now
+ - Scrub error on inode
+ - Metadata damage detected
+ - inconsistent rstat on inode
+ - Error recovering journal
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_data_scan
diff --git a/qa/suites/fs/basic_functional/tasks/forward-scrub.yaml b/qa/suites/fs/basic_functional/tasks/forward-scrub.yaml
new file mode 100644
index 00000000..b92cf105
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/forward-scrub.yaml
@@ -0,0 +1,14 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - inode wrongly marked free
+ - bad backtrace on inode
+ - inode table repaired for inode
+ - Scrub error on inode
+ - Metadata damage detected
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_forward_scrub
diff --git a/qa/suites/fs/basic_functional/tasks/fragment.yaml b/qa/suites/fs/basic_functional/tasks/fragment.yaml
new file mode 100644
index 00000000..482caad8
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/fragment.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_fragment
diff --git a/qa/suites/fs/basic_functional/tasks/journal-repair.yaml b/qa/suites/fs/basic_functional/tasks/journal-repair.yaml
new file mode 100644
index 00000000..66f819d0
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/journal-repair.yaml
@@ -0,0 +1,14 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace on directory inode
+ - error reading table object
+ - Metadata damage detected
+ - slow requests are blocked
+ - Behind on trimming
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_journal_repair
diff --git a/qa/suites/fs/basic_functional/tasks/libcephfs_python.yaml b/qa/suites/fs/basic_functional/tasks/libcephfs_python.yaml
new file mode 100644
index 00000000..e5cbb14b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/libcephfs_python.yaml
@@ -0,0 +1,10 @@
+overrides:
+ ceph-fuse:
+ disabled: true
+ kclient:
+ disabled: true
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - fs/test_python.sh
diff --git a/qa/suites/fs/basic_functional/tasks/mds-flush.yaml b/qa/suites/fs/basic_functional/tasks/mds-flush.yaml
new file mode 100644
index 00000000..d59a8ad5
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/mds-flush.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_flush
diff --git a/qa/suites/fs/basic_functional/tasks/mds-full.yaml b/qa/suites/fs/basic_functional/tasks/mds-full.yaml
new file mode 100644
index 00000000..7e57dc6b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/mds-full.yaml
@@ -0,0 +1,37 @@
+
+overrides:
+ ceph:
+ cephfs_ec_profile:
+ - disabled
+ log-whitelist:
+ - OSD full dropping all updates
+ - OSD near full
+ - pausewr flag
+ - failsafe engaged, dropping updates
+ - failsafe disengaged, no longer dropping
+ - is full \(reached quota
+ - POOL_FULL
+ - POOL_BACKFILLFULL
+ conf:
+ mon:
+ mon osd nearfull ratio: 0.6
+ mon osd backfillfull ratio: 0.6
+ mon osd full ratio: 0.7
+ osd:
+ osd mon report interval: 5
+ osd objectstore: memstore
+ osd failsafe full ratio: 1.0
+ memstore device bytes: 200000000
+ client.0:
+ debug client: 20
+ debug objecter: 20
+ debug objectcacher: 20
+ client.1:
+ debug client: 20
+ debug objecter: 20
+ debug objectcacher: 20
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_full
diff --git a/qa/suites/fs/basic_functional/tasks/mds_creation_retry.yaml b/qa/suites/fs/basic_functional/tasks/mds_creation_retry.yaml
new file mode 100644
index 00000000..fd23aa8b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/mds_creation_retry.yaml
@@ -0,0 +1,6 @@
+tasks:
+-mds_creation_failure:
+- workunit:
+ clients:
+ all: [fs/misc/trivial_sync.sh]
+
diff --git a/qa/suites/fs/basic_functional/tasks/openfiletable.yaml b/qa/suites/fs/basic_functional/tasks/openfiletable.yaml
new file mode 100644
index 00000000..ad90e8bc
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/openfiletable.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_openfiletable
diff --git a/qa/suites/fs/basic_functional/tasks/pool-perm.yaml b/qa/suites/fs/basic_functional/tasks/pool-perm.yaml
new file mode 100644
index 00000000..f220626d
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/pool-perm.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_pool_perm
diff --git a/qa/suites/fs/basic_functional/tasks/quota.yaml b/qa/suites/fs/basic_functional/tasks/quota.yaml
new file mode 100644
index 00000000..89b10ce2
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/quota.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_quota
diff --git a/qa/suites/fs/basic_functional/tasks/sessionmap/+ b/qa/suites/fs/basic_functional/tasks/sessionmap/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/sessionmap/+
diff --git a/qa/suites/fs/basic_functional/tasks/sessionmap/.qa b/qa/suites/fs/basic_functional/tasks/sessionmap/.qa
new file mode 120000
index 00000000..fea2489f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/sessionmap/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/sessionmap/sessionmap.yaml b/qa/suites/fs/basic_functional/tasks/sessionmap/sessionmap.yaml
new file mode 100644
index 00000000..1d72301b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/sessionmap/sessionmap.yaml
@@ -0,0 +1,10 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - client session with non-allowable root
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_sessionmap
diff --git a/qa/suites/fs/basic_functional/tasks/strays.yaml b/qa/suites/fs/basic_functional/tasks/strays.yaml
new file mode 100644
index 00000000..2809fc14
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/strays.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_strays
diff --git a/qa/suites/fs/basic_functional/tasks/test_journal_migration.yaml b/qa/suites/fs/basic_functional/tasks/test_journal_migration.yaml
new file mode 100644
index 00000000..183ef388
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/test_journal_migration.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+- cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_journal_migration
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/% b/qa/suites/fs/basic_functional/tasks/volume-client/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/%
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/.qa b/qa/suites/fs/basic_functional/tasks/volume-client/.qa
new file mode 120000
index 00000000..fea2489f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/task/.qa b/qa/suites/fs/basic_functional/tasks/volume-client/task/.qa
new file mode 120000
index 00000000..fea2489f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/task/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/task/test/+ b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/+
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/task/test/.qa b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/.qa
new file mode 120000
index 00000000..fea2489f
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/fs/basic_functional/tasks/volume-client/task/test/test.yaml b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/test.yaml
new file mode 100644
index 00000000..2ad97a00
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volume-client/task/test/test.yaml
@@ -0,0 +1,8 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - MON_DOWN
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_volume_client
diff --git a/qa/suites/fs/basic_functional/tasks/volumes.yaml b/qa/suites/fs/basic_functional/tasks/volumes.yaml
new file mode 100644
index 00000000..1315980e
--- /dev/null
+++ b/qa/suites/fs/basic_functional/tasks/volumes.yaml
@@ -0,0 +1,20 @@
+overrides:
+ ceph:
+ conf:
+ mgr:
+ debug client: 10
+ log-whitelist:
+ - OSD full dropping all updates
+ - OSD near full
+ - pausewr flag
+ - failsafe engaged, dropping updates
+ - failsafe disengaged, no longer dropping
+ - is full \(reached quota
+ - POOL_FULL
+ - POOL_BACKFILLFULL
+
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_volumes
diff --git a/qa/suites/fs/basic_workload/% b/qa/suites/fs/basic_workload/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_workload/%
diff --git a/qa/suites/fs/basic_workload/.qa b/qa/suites/fs/basic_workload/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/begin.yaml b/qa/suites/fs/basic_workload/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/basic_workload/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/clusters/.qa b/qa/suites/fs/basic_workload/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/basic_workload/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/basic_workload/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/conf b/qa/suites/fs/basic_workload/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/basic_workload/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/inline/.qa b/qa/suites/fs/basic_workload/inline/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/inline/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/inline/no.yaml b/qa/suites/fs/basic_workload/inline/no.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_workload/inline/no.yaml
diff --git a/qa/suites/fs/basic_workload/inline/yes.yaml b/qa/suites/fs/basic_workload/inline/yes.yaml
new file mode 100644
index 00000000..da8677a5
--- /dev/null
+++ b/qa/suites/fs/basic_workload/inline/yes.yaml
@@ -0,0 +1,4 @@
+tasks:
+- exec:
+ client.0:
+ - sudo ceph fs set cephfs inline_data true --yes-i-really-mean-it
diff --git a/qa/suites/fs/basic_workload/mount/.qa b/qa/suites/fs/basic_workload/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/mount/fuse.yaml b/qa/suites/fs/basic_workload/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/basic_workload/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/objectstore-ec b/qa/suites/fs/basic_workload/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/basic_workload/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/omap_limit/.qa b/qa/suites/fs/basic_workload/omap_limit/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/omap_limit/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/omap_limit/10.yaml b/qa/suites/fs/basic_workload/omap_limit/10.yaml
new file mode 100644
index 00000000..0cd2c6f8
--- /dev/null
+++ b/qa/suites/fs/basic_workload/omap_limit/10.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd_max_omap_entries_per_request: 10 \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/omap_limit/10000.yaml b/qa/suites/fs/basic_workload/omap_limit/10000.yaml
new file mode 100644
index 00000000..0c7e4cf9
--- /dev/null
+++ b/qa/suites/fs/basic_workload/omap_limit/10000.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd_max_omap_entries_per_request: 10000 \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/overrides/+ b/qa/suites/fs/basic_workload/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/+
diff --git a/qa/suites/fs/basic_workload/overrides/.qa b/qa/suites/fs/basic_workload/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/overrides/frag_enable.yaml b/qa/suites/fs/basic_workload/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/overrides/session_timeout.yaml b/qa/suites/fs/basic_workload/overrides/session_timeout.yaml
new file mode 120000
index 00000000..fce0318c
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/session_timeout.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/session_timeout.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/overrides/whitelist_health.yaml b/qa/suites/fs/basic_workload/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/basic_workload/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/basic_workload/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/supported-random-distros$ b/qa/suites/fs/basic_workload/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/basic_workload/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/.qa b/qa/suites/fs/basic_workload/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_kernel_untar_build.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_kernel_untar_build.yaml
new file mode 100644
index 00000000..1e71bb40
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_kernel_untar_build.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse_default_permissions: 0
+tasks:
+- check-counter:
+ counters:
+ mds:
+ - "mds.dir_split"
+- workunit:
+ clients:
+ all:
+ - kernel_untar_build.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc.yaml
new file mode 100644
index 00000000..d6c8140a
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc.yaml
@@ -0,0 +1,10 @@
+tasks:
+- check-counter:
+ counters:
+ mds:
+ - "mds.dir_split"
+- workunit:
+ clients:
+ all:
+ - fs/misc
+
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc_test_o_trunc.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc_test_o_trunc.yaml
new file mode 100644
index 00000000..c9de5c38
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_misc_test_o_trunc.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/test_o_trunc.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_norstats.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_norstats.yaml
new file mode 100644
index 00000000..ea018c99
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_norstats.yaml
@@ -0,0 +1,15 @@
+tasks:
+- check-counter:
+ counters:
+ mds:
+ - "mds.dir_split"
+- workunit:
+ clients:
+ all:
+ - fs/norstats
+
+overrides:
+ ceph:
+ conf:
+ client:
+ client dirsize rbytes: false
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_blogbench.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_blogbench.yaml
new file mode 120000
index 00000000..8702f4f3
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_blogbench.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_blogbench.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_dbench.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_dbench.yaml
new file mode 120000
index 00000000..b0f876c3
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_dbench.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_dbench.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_ffsb.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_ffsb.yaml
new file mode 120000
index 00000000..01e889b2
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_ffsb.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_ffsb.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsstress.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsstress.yaml
new file mode 120000
index 00000000..c2e859ff
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsstress.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_fsstress.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsx.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsx.yaml
new file mode 100644
index 00000000..b16cfb17
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsx.yaml
@@ -0,0 +1,9 @@
+tasks:
+- check-counter:
+ counters:
+ mds:
+ - "mds.dir_split"
+- workunit:
+ clients:
+ all:
+ - suites/fsx.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsync.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsync.yaml
new file mode 100644
index 00000000..7efa1adb
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsync.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/fsync-tester.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iogen.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iogen.yaml
new file mode 100644
index 00000000..8d4c2710
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iogen.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/iogen.sh
+
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iozone.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iozone.yaml
new file mode 100644
index 00000000..9270f3c5
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_iozone.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/iozone.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_pjd.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_pjd.yaml
new file mode 100644
index 00000000..37e315f7
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_pjd.yaml
@@ -0,0 +1,12 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse set user groups: true
+ fuse default permissions: false
+tasks:
+- workunit:
+ timeout: 6h
+ clients:
+ all:
+ - suites/pjd.sh
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_truncate_delay.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_truncate_delay.yaml
new file mode 100644
index 00000000..b47b5656
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_truncate_delay.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ ms_inject_delay_probability: 1
+ ms_inject_delay_type: osd
+ ms_inject_delay_max: 5
+ client_oc_max_dirty_age: 1
+tasks:
+- exec:
+ client.0:
+ - cd $TESTDIR/mnt.* && dd if=/dev/zero of=./foo count=100
+ - sleep 2
+ - cd $TESTDIR/mnt.* && truncate --size 0 ./foo
diff --git a/qa/suites/fs/basic_workload/tasks/cfuse_workunit_trivial_sync.yaml b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_trivial_sync.yaml
new file mode 120000
index 00000000..a1df0327
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/cfuse_workunit_trivial_sync.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_trivial_sync.yaml \ No newline at end of file
diff --git a/qa/suites/fs/basic_workload/tasks/libcephfs_interface_tests.yaml b/qa/suites/fs/basic_workload/tasks/libcephfs_interface_tests.yaml
new file mode 120000
index 00000000..84a88b59
--- /dev/null
+++ b/qa/suites/fs/basic_workload/tasks/libcephfs_interface_tests.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/libcephfs_interface_tests.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/.qa b/qa/suites/fs/bugs/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/% b/qa/suites/fs/bugs/client_trim_caps/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/%
diff --git a/qa/suites/fs/bugs/client_trim_caps/.qa b/qa/suites/fs/bugs/client_trim_caps/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/begin.yaml b/qa/suites/fs/bugs/client_trim_caps/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/clusters/.qa b/qa/suites/fs/bugs/client_trim_caps/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/clusters/small-cluster.yaml b/qa/suites/fs/bugs/client_trim_caps/clusters/small-cluster.yaml
new file mode 100644
index 00000000..5cd97a3a
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/clusters/small-cluster.yaml
@@ -0,0 +1,11 @@
+roles:
+- [mon.a, mgr.x, osd.0, osd.1, osd.2, mds.a, mds.b, client.0]
+openstack:
+- volumes: # attached to each instance
+ count: 2
+ size: 10 # GB
+- machine:
+ disk: 100 # GB
+log-rotate:
+ ceph-mds: 10G
+ ceph-osd: 10G
diff --git a/qa/suites/fs/bugs/client_trim_caps/conf b/qa/suites/fs/bugs/client_trim_caps/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/objectstore/.qa b/qa/suites/fs/bugs/client_trim_caps/objectstore/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/objectstore/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/objectstore/bluestore-bitmap.yaml b/qa/suites/fs/bugs/client_trim_caps/objectstore/bluestore-bitmap.yaml
new file mode 120000
index 00000000..a59cf517
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/objectstore/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+.qa/objectstore/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/+ b/qa/suites/fs/bugs/client_trim_caps/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/+
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/.qa b/qa/suites/fs/bugs/client_trim_caps/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/frag_enable.yaml b/qa/suites/fs/bugs/client_trim_caps/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/no_client_pidfile.yaml b/qa/suites/fs/bugs/client_trim_caps/overrides/no_client_pidfile.yaml
new file mode 120000
index 00000000..8888f332
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/no_client_pidfile.yaml
@@ -0,0 +1 @@
+.qa/overrides/no_client_pidfile.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_health.yaml b/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/tasks/.qa b/qa/suites/fs/bugs/client_trim_caps/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/bugs/client_trim_caps/tasks/trim-i22073.yaml b/qa/suites/fs/bugs/client_trim_caps/tasks/trim-i22073.yaml
new file mode 100644
index 00000000..a86e918e
--- /dev/null
+++ b/qa/suites/fs/bugs/client_trim_caps/tasks/trim-i22073.yaml
@@ -0,0 +1,20 @@
+# Note this test is unlikely to exercise the code as expected in the future:
+# "It's too tricky to arrange inodes in session->caps. we don't know if it
+# still works in the future." -Zheng
+
+overrides:
+ ceph:
+ log-whitelist:
+ - MDS cache is too large
+ - \(MDS_CACHE_OVERSIZED\)
+tasks:
+- exec:
+ mon.a:
+ - "ceph tell mds.* config set mds_min_caps_per_client 1"
+- background_exec:
+ mon.a:
+ - "sleep 30 && ceph tell mds.* config set mds_cache_memory_limit 1"
+- exec:
+ client.0:
+ - ceph_test_trim_caps
+ - ceph_test_ino_release_cb
diff --git a/qa/suites/fs/multiclient/% b/qa/suites/fs/multiclient/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/multiclient/%
diff --git a/qa/suites/fs/multiclient/.qa b/qa/suites/fs/multiclient/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/begin.yaml b/qa/suites/fs/multiclient/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/multiclient/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/clusters/.qa b/qa/suites/fs/multiclient/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/clusters/1-mds-2-client.yaml b/qa/suites/fs/multiclient/clusters/1-mds-2-client.yaml
new file mode 120000
index 00000000..9f4f161a
--- /dev/null
+++ b/qa/suites/fs/multiclient/clusters/1-mds-2-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-2-client.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/clusters/1-mds-3-client.yaml b/qa/suites/fs/multiclient/clusters/1-mds-3-client.yaml
new file mode 120000
index 00000000..6b25e07c
--- /dev/null
+++ b/qa/suites/fs/multiclient/clusters/1-mds-3-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-3-client.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/conf b/qa/suites/fs/multiclient/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/multiclient/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/distros/.qa b/qa/suites/fs/multiclient/distros/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/distros/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/distros/ubuntu_latest.yaml b/qa/suites/fs/multiclient/distros/ubuntu_latest.yaml
new file mode 120000
index 00000000..3a09f9ab
--- /dev/null
+++ b/qa/suites/fs/multiclient/distros/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/mount/.qa b/qa/suites/fs/multiclient/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/mount/fuse.yaml b/qa/suites/fs/multiclient/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/multiclient/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/mount/kclient.yaml.disabled b/qa/suites/fs/multiclient/mount/kclient.yaml.disabled
new file mode 100644
index 00000000..f00f16ae
--- /dev/null
+++ b/qa/suites/fs/multiclient/mount/kclient.yaml.disabled
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ ms die on skipped message: false
+tasks:
+- kclient:
diff --git a/qa/suites/fs/multiclient/objectstore-ec b/qa/suites/fs/multiclient/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/multiclient/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/overrides/+ b/qa/suites/fs/multiclient/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/multiclient/overrides/+
diff --git a/qa/suites/fs/multiclient/overrides/.qa b/qa/suites/fs/multiclient/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/overrides/frag_enable.yaml b/qa/suites/fs/multiclient/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/multiclient/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/overrides/whitelist_health.yaml b/qa/suites/fs/multiclient/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/multiclient/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/multiclient/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/multiclient/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/tasks/.qa b/qa/suites/fs/multiclient/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multiclient/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml b/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml
new file mode 100644
index 00000000..564989d6
--- /dev/null
+++ b/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml
@@ -0,0 +1,13 @@
+tasks:
+- cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_misc
+
+overrides:
+ ceph:
+ log-whitelist:
+ - evicting unresponsive client
+ - POOL_APP_NOT_ENABLED
+ - has not responded to cap revoke by MDS for over
+ - MDS_CLIENT_LATE_RELEASE
+ - responding to mclientcaps
diff --git a/qa/suites/fs/multiclient/tasks/fsx-mpi.yaml.disabled b/qa/suites/fs/multiclient/tasks/fsx-mpi.yaml.disabled
new file mode 100644
index 00000000..fc099694
--- /dev/null
+++ b/qa/suites/fs/multiclient/tasks/fsx-mpi.yaml.disabled
@@ -0,0 +1,17 @@
+# make sure we get the same MPI version on all hosts
+tasks:
+- pexec:
+ clients:
+ - cd $TESTDIR
+ - wget http://download.ceph.com/qa/fsx-mpi.c
+ - mpicc fsx-mpi.c -o fsx-mpi
+ - rm fsx-mpi.c
+ - ln -s $TESTDIR/mnt.* $TESTDIR/gmnt
+- ssh_keys:
+- mpi:
+ exec: sudo $TESTDIR/fsx-mpi -o 1MB -N 50000 -p 10000 -l 1048576 $TESTDIR/gmnt/test
+ workdir: $TESTDIR/gmnt
+- pexec:
+ all:
+ - rm $TESTDIR/gmnt
+ - rm $TESTDIR/fsx-mpi
diff --git a/qa/suites/fs/multiclient/tasks/ior-shared-file.yaml b/qa/suites/fs/multiclient/tasks/ior-shared-file.yaml
new file mode 100644
index 00000000..d401cff4
--- /dev/null
+++ b/qa/suites/fs/multiclient/tasks/ior-shared-file.yaml
@@ -0,0 +1,23 @@
+# make sure we get the same MPI version on all hosts
+tasks:
+- pexec:
+ clients:
+ - cd $TESTDIR
+ - wget http://download.ceph.com/qa/ior.tbz2
+ - tar xvfj ior.tbz2
+ - cd ior
+ - ./configure
+ - make
+ - make install DESTDIR=$TESTDIR/binary/
+ - cd $TESTDIR/
+ - rm ior.tbz2
+ - rm -r ior
+ - ln -s $TESTDIR/mnt.* $TESTDIR/gmnt
+- ssh_keys:
+- mpi:
+ exec: $TESTDIR/binary/usr/local/bin/ior -e -w -r -W -b 10m -a POSIX -o $TESTDIR/gmnt/ior.testfile
+- pexec:
+ all:
+ - rm -f $TESTDIR/gmnt/ior.testfile
+ - rm -f $TESTDIR/gmnt
+ - rm -rf $TESTDIR/binary
diff --git a/qa/suites/fs/multiclient/tasks/mdtest.yaml b/qa/suites/fs/multiclient/tasks/mdtest.yaml
new file mode 100644
index 00000000..ba8ecde4
--- /dev/null
+++ b/qa/suites/fs/multiclient/tasks/mdtest.yaml
@@ -0,0 +1,20 @@
+# make sure we get the same MPI version on all hosts
+tasks:
+- pexec:
+ clients:
+ - cd $TESTDIR
+ - wget http://download.ceph.com/qa/mdtest-1.9.3.tgz
+ - mkdir mdtest-1.9.3
+ - cd mdtest-1.9.3
+ - tar xvfz $TESTDIR/mdtest-1.9.3.tgz
+ - rm $TESTDIR/mdtest-1.9.3.tgz
+ - MPI_CC=mpicc make
+ - ln -s $TESTDIR/mnt.* $TESTDIR/gmnt
+- ssh_keys:
+- mpi:
+ exec: $TESTDIR/mdtest-1.9.3/mdtest -d $TESTDIR/gmnt -I 20 -z 5 -b 2 -R
+- pexec:
+ all:
+ - rm -f $TESTDIR/gmnt
+ - rm -rf $TESTDIR/mdtest-1.9.3
+ - rm -rf $TESTDIR/._mdtest-1.9.3
diff --git a/qa/suites/fs/multifs/% b/qa/suites/fs/multifs/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/multifs/%
diff --git a/qa/suites/fs/multifs/.qa b/qa/suites/fs/multifs/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multifs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/begin.yaml b/qa/suites/fs/multifs/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/multifs/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/clusters/.qa b/qa/suites/fs/multifs/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multifs/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/clusters/1a3s-mds-2c-client.yaml b/qa/suites/fs/multifs/clusters/1a3s-mds-2c-client.yaml
new file mode 120000
index 00000000..c190ea92
--- /dev/null
+++ b/qa/suites/fs/multifs/clusters/1a3s-mds-2c-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1a3s-mds-2c-client.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/conf b/qa/suites/fs/multifs/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/multifs/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/multifs/mount/.qa b/qa/suites/fs/multifs/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multifs/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/mount/fuse.yaml b/qa/suites/fs/multifs/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/multifs/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/objectstore-ec b/qa/suites/fs/multifs/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/multifs/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/multifs/overrides/+ b/qa/suites/fs/multifs/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/+
diff --git a/qa/suites/fs/multifs/overrides/.qa b/qa/suites/fs/multifs/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/overrides/frag_enable.yaml b/qa/suites/fs/multifs/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/overrides/mon-debug.yaml b/qa/suites/fs/multifs/overrides/mon-debug.yaml
new file mode 100644
index 00000000..24b454c0
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/mon-debug.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ mon:
+ debug mon: 20
diff --git a/qa/suites/fs/multifs/overrides/whitelist_health.yaml b/qa/suites/fs/multifs/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/multifs/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/multifs/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/multifs/supported-random-distros$ b/qa/suites/fs/multifs/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/multifs/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/tasks/.qa b/qa/suites/fs/multifs/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/multifs/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/multifs/tasks/failover.yaml b/qa/suites/fs/multifs/tasks/failover.yaml
new file mode 100644
index 00000000..0e111a53
--- /dev/null
+++ b/qa/suites/fs/multifs/tasks/failover.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - not responding, replacing
+ - \(MDS_INSUFFICIENT_STANDBY\)
+ - \(MDS_ALL_DOWN\)
+ - \(MDS_UP_LESS_THAN_MAX\)
+ ceph-fuse:
+ disabled: true
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_failover
+
diff --git a/qa/suites/fs/permission/% b/qa/suites/fs/permission/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/permission/%
diff --git a/qa/suites/fs/permission/.qa b/qa/suites/fs/permission/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/permission/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/permission/begin.yaml b/qa/suites/fs/permission/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/permission/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/clusters/.qa b/qa/suites/fs/permission/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/permission/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/permission/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/permission/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/permission/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/conf b/qa/suites/fs/permission/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/permission/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/permission/mount/.qa b/qa/suites/fs/permission/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/permission/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/permission/mount/fuse.yaml b/qa/suites/fs/permission/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/permission/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/objectstore-ec b/qa/suites/fs/permission/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/permission/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/permission/overrides/+ b/qa/suites/fs/permission/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/permission/overrides/+
diff --git a/qa/suites/fs/permission/overrides/.qa b/qa/suites/fs/permission/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/permission/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/permission/overrides/frag_enable.yaml b/qa/suites/fs/permission/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/permission/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/overrides/whitelist_health.yaml b/qa/suites/fs/permission/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/permission/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/permission/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/permission/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/permission/supported-random-distros$ b/qa/suites/fs/permission/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/permission/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/permission/tasks/.qa b/qa/suites/fs/permission/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/permission/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/permission/tasks/cfuse_workunit_misc.yaml b/qa/suites/fs/permission/tasks/cfuse_workunit_misc.yaml
new file mode 100644
index 00000000..618498e6
--- /dev/null
+++ b/qa/suites/fs/permission/tasks/cfuse_workunit_misc.yaml
@@ -0,0 +1,12 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse default permissions: false
+ client acl type: posix_acl
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/misc/acl.sh
+ - fs/misc/chmod.sh
diff --git a/qa/suites/fs/permission/tasks/cfuse_workunit_suites_pjd.yaml b/qa/suites/fs/permission/tasks/cfuse_workunit_suites_pjd.yaml
new file mode 100644
index 00000000..09be2667
--- /dev/null
+++ b/qa/suites/fs/permission/tasks/cfuse_workunit_suites_pjd.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse set user groups: true
+ fuse default permissions: false
+ client acl type: posix_acl
+tasks:
+- workunit:
+ timeout: 6h
+ clients:
+ all:
+ - suites/pjd.sh
diff --git a/qa/suites/fs/snaps/% b/qa/suites/fs/snaps/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/snaps/%
diff --git a/qa/suites/fs/snaps/.qa b/qa/suites/fs/snaps/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/snaps/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/begin.yaml b/qa/suites/fs/snaps/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/snaps/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/clusters/.qa b/qa/suites/fs/snaps/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/snaps/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/snaps/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/snaps/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/conf b/qa/suites/fs/snaps/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/snaps/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/snaps/mount/.qa b/qa/suites/fs/snaps/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/snaps/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/mount/fuse.yaml b/qa/suites/fs/snaps/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/snaps/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/objectstore-ec b/qa/suites/fs/snaps/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/snaps/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/snaps/overrides/+ b/qa/suites/fs/snaps/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/snaps/overrides/+
diff --git a/qa/suites/fs/snaps/overrides/.qa b/qa/suites/fs/snaps/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/snaps/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/overrides/frag_enable.yaml b/qa/suites/fs/snaps/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/snaps/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/overrides/whitelist_health.yaml b/qa/suites/fs/snaps/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/snaps/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/snaps/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/snaps/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/snaps/supported-random-distros$ b/qa/suites/fs/snaps/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/snaps/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/tasks/.qa b/qa/suites/fs/snaps/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/snaps/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/snaps/tasks/snaptests.yaml b/qa/suites/fs/snaps/tasks/snaptests.yaml
new file mode 100644
index 00000000..790c93c2
--- /dev/null
+++ b/qa/suites/fs/snaps/tasks/snaptests.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/snaps
diff --git a/qa/suites/fs/thrash/% b/qa/suites/fs/thrash/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/thrash/%
diff --git a/qa/suites/fs/thrash/.qa b/qa/suites/fs/thrash/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/begin.yaml b/qa/suites/fs/thrash/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/thrash/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/ceph-thrash/.qa b/qa/suites/fs/thrash/ceph-thrash/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/ceph-thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/ceph-thrash/default.yaml b/qa/suites/fs/thrash/ceph-thrash/default.yaml
new file mode 100644
index 00000000..154615c5
--- /dev/null
+++ b/qa/suites/fs/thrash/ceph-thrash/default.yaml
@@ -0,0 +1,7 @@
+tasks:
+- mds_thrash:
+
+overrides:
+ ceph:
+ log-whitelist:
+ - not responding, replacing
diff --git a/qa/suites/fs/thrash/clusters/.qa b/qa/suites/fs/thrash/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/clusters/1-mds-1-client-coloc.yaml b/qa/suites/fs/thrash/clusters/1-mds-1-client-coloc.yaml
new file mode 120000
index 00000000..d15ecfda
--- /dev/null
+++ b/qa/suites/fs/thrash/clusters/1-mds-1-client-coloc.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-1-client-coloc.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/conf b/qa/suites/fs/thrash/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/thrash/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/thrash/mount/.qa b/qa/suites/fs/thrash/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/mount/fuse.yaml b/qa/suites/fs/thrash/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/thrash/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/msgr-failures/.qa b/qa/suites/fs/thrash/msgr-failures/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/msgr-failures/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/msgr-failures/none.yaml b/qa/suites/fs/thrash/msgr-failures/none.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/thrash/msgr-failures/none.yaml
diff --git a/qa/suites/fs/thrash/msgr-failures/osd-mds-delay.yaml b/qa/suites/fs/thrash/msgr-failures/osd-mds-delay.yaml
new file mode 100644
index 00000000..68802961
--- /dev/null
+++ b/qa/suites/fs/thrash/msgr-failures/osd-mds-delay.yaml
@@ -0,0 +1,10 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ ms inject socket failures: 2500
+ ms inject delay type: osd mds
+ ms inject delay probability: .005
+ ms inject delay max: 1
+ log-whitelist:
+ - \(OSD_SLOW_PING_TIME
diff --git a/qa/suites/fs/thrash/objectstore-ec b/qa/suites/fs/thrash/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/thrash/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/thrash/overrides/+ b/qa/suites/fs/thrash/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/+
diff --git a/qa/suites/fs/thrash/overrides/.qa b/qa/suites/fs/thrash/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/overrides/frag_enable.yaml b/qa/suites/fs/thrash/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/overrides/session_timeout.yaml b/qa/suites/fs/thrash/overrides/session_timeout.yaml
new file mode 120000
index 00000000..fce0318c
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/session_timeout.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/session_timeout.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/overrides/whitelist_health.yaml b/qa/suites/fs/thrash/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/thrash/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/thrash/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/supported-random-distros$ b/qa/suites/fs/thrash/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/thrash/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/tasks/.qa b/qa/suites/fs/thrash/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/thrash/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/thrash/tasks/cfuse_workunit_snaptests.yaml b/qa/suites/fs/thrash/tasks/cfuse_workunit_snaptests.yaml
new file mode 100644
index 00000000..790c93c2
--- /dev/null
+++ b/qa/suites/fs/thrash/tasks/cfuse_workunit_snaptests.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/snaps
diff --git a/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_fsstress.yaml b/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_fsstress.yaml
new file mode 120000
index 00000000..c2e859ff
--- /dev/null
+++ b/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_fsstress.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_fsstress.yaml \ No newline at end of file
diff --git a/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_pjd.yaml b/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_pjd.yaml
new file mode 100644
index 00000000..37e315f7
--- /dev/null
+++ b/qa/suites/fs/thrash/tasks/cfuse_workunit_suites_pjd.yaml
@@ -0,0 +1,12 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ fuse set user groups: true
+ fuse default permissions: false
+tasks:
+- workunit:
+ timeout: 6h
+ clients:
+ all:
+ - suites/pjd.sh
diff --git a/qa/suites/fs/thrash/tasks/cfuse_workunit_trivial_sync.yaml b/qa/suites/fs/thrash/tasks/cfuse_workunit_trivial_sync.yaml
new file mode 120000
index 00000000..a1df0327
--- /dev/null
+++ b/qa/suites/fs/thrash/tasks/cfuse_workunit_trivial_sync.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_trivial_sync.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/% b/qa/suites/fs/traceless/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/traceless/%
diff --git a/qa/suites/fs/traceless/.qa b/qa/suites/fs/traceless/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/begin.yaml b/qa/suites/fs/traceless/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/traceless/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/clusters/.qa b/qa/suites/fs/traceless/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/traceless/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/traceless/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/conf b/qa/suites/fs/traceless/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/traceless/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/traceless/mount/.qa b/qa/suites/fs/traceless/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/mount/fuse.yaml b/qa/suites/fs/traceless/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/traceless/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/objectstore-ec b/qa/suites/fs/traceless/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/traceless/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/traceless/overrides/+ b/qa/suites/fs/traceless/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/traceless/overrides/+
diff --git a/qa/suites/fs/traceless/overrides/.qa b/qa/suites/fs/traceless/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/overrides/frag_enable.yaml b/qa/suites/fs/traceless/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/traceless/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/overrides/whitelist_health.yaml b/qa/suites/fs/traceless/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/traceless/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/traceless/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/traceless/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/supported-random-distros$ b/qa/suites/fs/traceless/supported-random-distros$
new file mode 120000
index 00000000..0862b445
--- /dev/null
+++ b/qa/suites/fs/traceless/supported-random-distros$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/tasks/.qa b/qa/suites/fs/traceless/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_blogbench.yaml b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_blogbench.yaml
new file mode 120000
index 00000000..8702f4f3
--- /dev/null
+++ b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_blogbench.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_blogbench.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_dbench.yaml b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_dbench.yaml
new file mode 120000
index 00000000..b0f876c3
--- /dev/null
+++ b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_dbench.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_dbench.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_ffsb.yaml b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_ffsb.yaml
new file mode 120000
index 00000000..01e889b2
--- /dev/null
+++ b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_ffsb.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_ffsb.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_fsstress.yaml b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_fsstress.yaml
new file mode 120000
index 00000000..c2e859ff
--- /dev/null
+++ b/qa/suites/fs/traceless/tasks/cfuse_workunit_suites_fsstress.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_fsstress.yaml \ No newline at end of file
diff --git a/qa/suites/fs/traceless/traceless/.qa b/qa/suites/fs/traceless/traceless/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/traceless/traceless/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/traceless/traceless/50pc.yaml b/qa/suites/fs/traceless/traceless/50pc.yaml
new file mode 100644
index 00000000..e0418bcb
--- /dev/null
+++ b/qa/suites/fs/traceless/traceless/50pc.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ mds:
+ mds inject traceless reply probability: .5
diff --git a/qa/suites/fs/upgrade/.qa b/qa/suites/fs/upgrade/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/.qa b/qa/suites/fs/upgrade/featureful_client/.qa
new file mode 120000
index 00000000..11a54ed3
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/.qa
@@ -0,0 +1 @@
+../../../../ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/% b/qa/suites/fs/upgrade/featureful_client/old_client/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/%
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/.qa b/qa/suites/fs/upgrade/featureful_client/old_client/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/bluestore-bitmap.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/bluestore-bitmap.yaml
new file mode 120000
index 00000000..17ad98e7
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+../../../../../cephfs/objectstore-ec/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/clusters/.qa b/qa/suites/fs/upgrade/featureful_client/old_client/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/clusters/1-mds-2-client-micro.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/clusters/1-mds-2-client-micro.yaml
new file mode 120000
index 00000000..feb68f34
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/clusters/1-mds-2-client-micro.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-2-client-micro.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/conf b/qa/suites/fs/upgrade/featureful_client/old_client/conf
new file mode 120000
index 00000000..6d471298
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/% b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/%
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/.qa b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/frag_enable.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/no.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/no.yaml
new file mode 100644
index 00000000..f9e95daa
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/no.yaml
@@ -0,0 +1,4 @@
+overrides:
+ ceph:
+ cephfs:
+ max_mds: 1
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/yes.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/yes.yaml
new file mode 100644
index 00000000..b3a9b5d6
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/multimds/yes.yaml
@@ -0,0 +1,4 @@
+overrides:
+ ceph:
+ cephfs:
+ max_mds: 2
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_health.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/% b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/%
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/.qa b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/0-luminous.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/0-luminous.yaml
new file mode 100644
index 00000000..7835cbf9
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/0-luminous.yaml
@@ -0,0 +1,41 @@
+meta:
+- desc: |
+ install ceph/luminous latest
+tasks:
+- install:
+ branch: luminous
+ exclude_packages:
+ - librados3
+ - ceph-mgr-dashboard
+ - ceph-mgr-diskprediction-local
+ - ceph-mgr-diskprediction-cloud
+ - ceph-mgr-rook
+ - ceph-mgr-ssh
+ extra_packages: ['librados2']
+- print: "**** done installing luminous"
+- ceph:
+ mon_bind_addrvec: false
+ mon_bind_msgr2: false
+ log-whitelist:
+ - overall HEALTH_
+ - \(FS_
+ - \(MDS_
+ - \(OSD_
+ - \(MON_DOWN\)
+ - \(CACHE_POOL_
+ - \(POOL_
+ - \(MGR_DOWN\)
+ - \(PG_
+ - \(SMALLER_PGP_NUM\)
+ - Monitor daemon marked osd
+ - Behind on trimming
+ - Manager daemon
+ conf:
+ global:
+ mon warn on pool no app: false
+ ms bind msgr2: false
+- exec:
+ osd.0:
+ - ceph osd require-osd-release luminous
+ - ceph osd set-require-min-compat-client luminous
+- print: "**** done ceph"
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/1-client.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/1-client.yaml
new file mode 100644
index 00000000..88d686fa
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/1-client.yaml
@@ -0,0 +1,8 @@
+tasks:
+- ceph-fuse:
+- print: "**** done luminous client"
+- workunit:
+ clients:
+ all:
+ - suites/fsstress.sh
+- print: "**** done fsstress"
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml
new file mode 100644
index 00000000..cd670cf6
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml
@@ -0,0 +1,56 @@
+overrides:
+ ceph:
+ mon_bind_msgr2: false
+ mon_bind_addrvec: false
+ log-whitelist:
+ - scrub mismatch
+ - ScrubResult
+ - wrongly marked
+ - \(POOL_APP_NOT_ENABLED\)
+ - \(SLOW_OPS\)
+ - overall HEALTH_
+ - \(MON_MSGR2_NOT_ENABLED\)
+ - slow request
+ conf:
+ global:
+ bluestore warn on legacy statfs: false
+ mon pg warn min per osd: 0
+ mon:
+ mon warn on osd down out interval zero: false
+
+tasks:
+- mds_pre_upgrade:
+- print: "**** done mds pre-upgrade sequence"
+- install.upgrade:
+ mon.a:
+ mon.b:
+- print: "**** done install.upgrade both hosts"
+- ceph.restart:
+ daemons: [mon.*, mgr.*]
+ mon-health-to-clog: false
+ wait-for-healthy: false
+- exec:
+ mon.a:
+ - ceph config set global mon_warn_on_msgr2_not_enabled false
+- ceph.healthy:
+- ceph.restart:
+ daemons: [osd.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- ceph.stop: [mds.*]
+- ceph.restart:
+ daemons: [mds.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- exec:
+ mon.a:
+ - ceph mon enable-msgr2
+ - ceph config rm global mon_warn_on_msgr2_not_enabled
+- exec:
+ mon.a:
+ - ceph osd dump -f json-pretty
+ - ceph versions
+ - ceph osd require-osd-release nautilus
+ #- ceph osd set-require-min-compat-client nautilus
+- ceph.healthy:
+- print: "**** done ceph.restart"
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/mimic.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/mimic.yaml
new file mode 100644
index 00000000..36720676
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/mimic.yaml
@@ -0,0 +1,10 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - missing required features
+tasks:
+- exec:
+ mon.a:
+ - ceph fs dump --format=json-pretty
+ - ceph fs set cephfs min_compat_client mimic
+- fs.clients_evicted:
diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/no.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/no.yaml
new file mode 100644
index 00000000..b495eb41
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/3-compat_client/no.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/fsstress.sh
+- print: "**** done fsstress"
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/% b/qa/suites/fs/upgrade/featureful_client/upgraded_client/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/%
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/.qa b/qa/suites/fs/upgrade/featureful_client/upgraded_client/.qa
new file mode 120000
index 00000000..fea2489f
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/bluestore-bitmap.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/bluestore-bitmap.yaml
new file mode 120000
index 00000000..17ad98e7
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+../../../../../cephfs/objectstore-ec/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/.qa b/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/1-mds-2-client-micro.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/1-mds-2-client-micro.yaml
new file mode 120000
index 00000000..feb68f34
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/clusters/1-mds-2-client-micro.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-2-client-micro.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/conf b/qa/suites/fs/upgrade/featureful_client/upgraded_client/conf
new file mode 120000
index 00000000..6d471298
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/% b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/%
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/.qa b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/frag_enable.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/no.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/no.yaml
new file mode 100644
index 00000000..f9e95daa
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/no.yaml
@@ -0,0 +1,4 @@
+overrides:
+ ceph:
+ cephfs:
+ max_mds: 1
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/yes.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/yes.yaml
new file mode 100644
index 00000000..b3a9b5d6
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/multimds/yes.yaml
@@ -0,0 +1,4 @@
+overrides:
+ ceph:
+ cephfs:
+ max_mds: 2
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_health.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/% b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/%
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/.qa b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/0-luminous.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/0-luminous.yaml
new file mode 100644
index 00000000..7835cbf9
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/0-luminous.yaml
@@ -0,0 +1,41 @@
+meta:
+- desc: |
+ install ceph/luminous latest
+tasks:
+- install:
+ branch: luminous
+ exclude_packages:
+ - librados3
+ - ceph-mgr-dashboard
+ - ceph-mgr-diskprediction-local
+ - ceph-mgr-diskprediction-cloud
+ - ceph-mgr-rook
+ - ceph-mgr-ssh
+ extra_packages: ['librados2']
+- print: "**** done installing luminous"
+- ceph:
+ mon_bind_addrvec: false
+ mon_bind_msgr2: false
+ log-whitelist:
+ - overall HEALTH_
+ - \(FS_
+ - \(MDS_
+ - \(OSD_
+ - \(MON_DOWN\)
+ - \(CACHE_POOL_
+ - \(POOL_
+ - \(MGR_DOWN\)
+ - \(PG_
+ - \(SMALLER_PGP_NUM\)
+ - Monitor daemon marked osd
+ - Behind on trimming
+ - Manager daemon
+ conf:
+ global:
+ mon warn on pool no app: false
+ ms bind msgr2: false
+- exec:
+ osd.0:
+ - ceph osd require-osd-release luminous
+ - ceph osd set-require-min-compat-client luminous
+- print: "**** done ceph"
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/1-client.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/1-client.yaml
new file mode 100644
index 00000000..dc1c0d8d
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/1-client.yaml
@@ -0,0 +1,11 @@
+nuke-on-error: false
+overrides:
+ nuke-on-error: false
+tasks:
+- ceph-fuse:
+- print: "**** done luminous client"
+#- workunit:
+# clients:
+# all:
+# - suites/fsstress.sh
+- print: "**** done fsstress"
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml
new file mode 100644
index 00000000..cd670cf6
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml
@@ -0,0 +1,56 @@
+overrides:
+ ceph:
+ mon_bind_msgr2: false
+ mon_bind_addrvec: false
+ log-whitelist:
+ - scrub mismatch
+ - ScrubResult
+ - wrongly marked
+ - \(POOL_APP_NOT_ENABLED\)
+ - \(SLOW_OPS\)
+ - overall HEALTH_
+ - \(MON_MSGR2_NOT_ENABLED\)
+ - slow request
+ conf:
+ global:
+ bluestore warn on legacy statfs: false
+ mon pg warn min per osd: 0
+ mon:
+ mon warn on osd down out interval zero: false
+
+tasks:
+- mds_pre_upgrade:
+- print: "**** done mds pre-upgrade sequence"
+- install.upgrade:
+ mon.a:
+ mon.b:
+- print: "**** done install.upgrade both hosts"
+- ceph.restart:
+ daemons: [mon.*, mgr.*]
+ mon-health-to-clog: false
+ wait-for-healthy: false
+- exec:
+ mon.a:
+ - ceph config set global mon_warn_on_msgr2_not_enabled false
+- ceph.healthy:
+- ceph.restart:
+ daemons: [osd.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- ceph.stop: [mds.*]
+- ceph.restart:
+ daemons: [mds.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- exec:
+ mon.a:
+ - ceph mon enable-msgr2
+ - ceph config rm global mon_warn_on_msgr2_not_enabled
+- exec:
+ mon.a:
+ - ceph osd dump -f json-pretty
+ - ceph versions
+ - ceph osd require-osd-release nautilus
+ #- ceph osd set-require-min-compat-client nautilus
+- ceph.healthy:
+- print: "**** done ceph.restart"
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/3-client-upgrade.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/3-client-upgrade.yaml
new file mode 100644
index 00000000..58fdfdbd
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/3-client-upgrade.yaml
@@ -0,0 +1,14 @@
+tasks:
+- install.upgrade:
+ client.0:
+- print: "**** done install.upgrade on client.0"
+- ceph-fuse:
+ client.0:
+ mounted: false
+ client.1:
+ skip: true
+- ceph-fuse:
+ client.0:
+ client.1:
+ skip: true
+- print: "**** done remount client"
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/4-compat_client.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/4-compat_client.yaml
new file mode 100644
index 00000000..bdf484da
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/4-compat_client.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - missing required features
+tasks:
+- exec:
+ mon.a:
+ - ceph fs dump --format=json-pretty
+ - ceph fs set cephfs min_compat_client mimic
+- fs.clients_evicted:
+ clients:
+ client.0: False
+ client.1: True
diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/5-client-sanity.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/5-client-sanity.yaml
new file mode 100644
index 00000000..e206457e
--- /dev/null
+++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/5-client-sanity.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - suites/fsstress.sh
+- print: "**** done fsstress"
diff --git a/qa/suites/fs/upgrade/snaps/% b/qa/suites/fs/upgrade/snaps/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/%
diff --git a/qa/suites/fs/upgrade/snaps/.qa b/qa/suites/fs/upgrade/snaps/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/clusters/.qa b/qa/suites/fs/upgrade/snaps/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/clusters/3-mds.yaml b/qa/suites/fs/upgrade/snaps/clusters/3-mds.yaml
new file mode 120000
index 00000000..d7ec418e
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/clusters/3-mds.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/3-mds.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/conf b/qa/suites/fs/upgrade/snaps/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/objectstore-ec b/qa/suites/fs/upgrade/snaps/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/overrides/% b/qa/suites/fs/upgrade/snaps/overrides/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/%
diff --git a/qa/suites/fs/upgrade/snaps/overrides/.qa b/qa/suites/fs/upgrade/snaps/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/overrides/frag_enable.yaml b/qa/suites/fs/upgrade/snaps/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/overrides/multimds/.qa b/qa/suites/fs/upgrade/snaps/overrides/multimds/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/multimds/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/overrides/multimds/no.yaml b/qa/suites/fs/upgrade/snaps/overrides/multimds/no.yaml
new file mode 100644
index 00000000..c740a450
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/multimds/no.yaml
@@ -0,0 +1,3 @@
+overrides:
+ ceph:
+ max_mds: 1
diff --git a/qa/suites/fs/upgrade/snaps/overrides/multimds/yes.yaml b/qa/suites/fs/upgrade/snaps/overrides/multimds/yes.yaml
new file mode 100644
index 00000000..ecf118d9
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/multimds/yes.yaml
@@ -0,0 +1,3 @@
+overrides:
+ ceph:
+ max_mds: 2
diff --git a/qa/suites/fs/upgrade/snaps/overrides/whitelist_health.yaml b/qa/suites/fs/upgrade/snaps/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/overrides/whitelist_rstat.yaml b/qa/suites/fs/upgrade/snaps/overrides/whitelist_rstat.yaml
new file mode 100644
index 00000000..434b5ddc
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/whitelist_rstat.yaml
@@ -0,0 +1,8 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - inconsistent rstat on inode
+ conf:
+ mds:
+ mds debug scatterstat: 0
+ mds verify scatter: 0
diff --git a/qa/suites/fs/upgrade/snaps/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/snaps/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/tasks/% b/qa/suites/fs/upgrade/snaps/tasks/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/%
diff --git a/qa/suites/fs/upgrade/snaps/tasks/.qa b/qa/suites/fs/upgrade/snaps/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/tasks/0-luminous.yaml b/qa/suites/fs/upgrade/snaps/tasks/0-luminous.yaml
new file mode 100644
index 00000000..7835cbf9
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/0-luminous.yaml
@@ -0,0 +1,41 @@
+meta:
+- desc: |
+ install ceph/luminous latest
+tasks:
+- install:
+ branch: luminous
+ exclude_packages:
+ - librados3
+ - ceph-mgr-dashboard
+ - ceph-mgr-diskprediction-local
+ - ceph-mgr-diskprediction-cloud
+ - ceph-mgr-rook
+ - ceph-mgr-ssh
+ extra_packages: ['librados2']
+- print: "**** done installing luminous"
+- ceph:
+ mon_bind_addrvec: false
+ mon_bind_msgr2: false
+ log-whitelist:
+ - overall HEALTH_
+ - \(FS_
+ - \(MDS_
+ - \(OSD_
+ - \(MON_DOWN\)
+ - \(CACHE_POOL_
+ - \(POOL_
+ - \(MGR_DOWN\)
+ - \(PG_
+ - \(SMALLER_PGP_NUM\)
+ - Monitor daemon marked osd
+ - Behind on trimming
+ - Manager daemon
+ conf:
+ global:
+ mon warn on pool no app: false
+ ms bind msgr2: false
+- exec:
+ osd.0:
+ - ceph osd require-osd-release luminous
+ - ceph osd set-require-min-compat-client luminous
+- print: "**** done ceph"
diff --git a/qa/suites/fs/upgrade/snaps/tasks/1-client.yaml b/qa/suites/fs/upgrade/snaps/tasks/1-client.yaml
new file mode 100644
index 00000000..0aa6dcf7
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/1-client.yaml
@@ -0,0 +1,13 @@
+tasks:
+- ceph-fuse:
+- print: "**** done luminous client"
+- exec:
+ mon.a:
+ - ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it
+- workunit:
+ timeout: 5m
+ cleanup: false
+ clients:
+ client.0:
+ - fs/snap-hierarchy.sh
+- print: "**** done snap hierarchy"
diff --git a/qa/suites/fs/upgrade/snaps/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/snaps/tasks/2-upgrade.yaml
new file mode 100644
index 00000000..7252bb35
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/2-upgrade.yaml
@@ -0,0 +1,19 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ mon pg warn min per osd: 0
+ bluestore warn on legacy statfs: false
+
+tasks:
+- mds_pre_upgrade:
+- print: "**** done mds pre-upgrade sequence"
+- install.upgrade:
+ mon.a:
+ mon.b:
+- print: "**** done install.upgrade both hosts"
+- ceph.stop: [mds.*]
+- ceph.restart:
+ daemons: [mon.*, mgr.*, osd.*, mds.*]
+ mon-health-to-clog: false
+- print: "**** done ceph.restart"
diff --git a/qa/suites/fs/upgrade/snaps/tasks/3-sanity.yaml b/qa/suites/fs/upgrade/snaps/tasks/3-sanity.yaml
new file mode 100644
index 00000000..d93dc3ba
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/3-sanity.yaml
@@ -0,0 +1,10 @@
+tasks:
+- exec:
+ mon.a:
+ - ceph status
+ - ceph fs dump --format=json-pretty
+ - ceph fs set cephfs max_mds 2 && exit 1 || true
+- print: "**** confirmed cannot set max_mds=2"
+- exec:
+ mon.a:
+ - ceph fs set cephfs allow_new_snaps true
diff --git a/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/.qa b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/no.yaml b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/no.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/no.yaml
diff --git a/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/yes.yaml b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/yes.yaml
new file mode 100644
index 00000000..13b590e2
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/4-client-upgrade/yes.yaml
@@ -0,0 +1,10 @@
+tasks:
+- install.upgrade:
+ client.0:
+- print: "**** done install.upgrade on client.0"
+- ceph-fuse:
+ client.0:
+ mounted: false
+- ceph-fuse:
+ client.0:
+- print: "**** done remount client"
diff --git a/qa/suites/fs/upgrade/snaps/tasks/5-client-sanity.yaml b/qa/suites/fs/upgrade/snaps/tasks/5-client-sanity.yaml
new file mode 100644
index 00000000..680e4407
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/5-client-sanity.yaml
@@ -0,0 +1,10 @@
+tasks:
+- workunit:
+ timeout: 5m
+ cleanup: false
+ env:
+ VERIFY: verify
+ clients:
+ client.0:
+ - fs/snap-hierarchy.sh
+- print: "**** done verify snap hierarchy"
diff --git a/qa/suites/fs/upgrade/snaps/tasks/6-snap-upgrade.yaml b/qa/suites/fs/upgrade/snaps/tasks/6-snap-upgrade.yaml
new file mode 100644
index 00000000..fe0b17e1
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/6-snap-upgrade.yaml
@@ -0,0 +1,16 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace on inode
+tasks:
+- cephfs_upgrade_snap:
+- print: "**** upgraded snapshot metadata"
+- exec:
+ mon.a:
+ - ceph fs set cephfs max_mds 2
+- print: "**** increased max_mds=2"
+- sleep:
+ duration: 10
+- exec:
+ mon.a:
+ - ceph fs dump | grep '^max_mds.*2'
diff --git a/qa/suites/fs/upgrade/snaps/tasks/7-client-sanity.yaml b/qa/suites/fs/upgrade/snaps/tasks/7-client-sanity.yaml
new file mode 120000
index 00000000..4ad65e45
--- /dev/null
+++ b/qa/suites/fs/upgrade/snaps/tasks/7-client-sanity.yaml
@@ -0,0 +1 @@
+5-client-sanity.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/.qa b/qa/suites/fs/upgrade/volumes/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/% b/qa/suites/fs/upgrade/volumes/import-legacy/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/%
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/.qa b/qa/suites/fs/upgrade/volumes/import-legacy/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/bluestore-bitmap.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/bluestore-bitmap.yaml
new file mode 120000
index 00000000..17ad98e7
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+../../../../../cephfs/objectstore-ec/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/clusters/.qa b/qa/suites/fs/upgrade/volumes/import-legacy/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/clusters/1-mds-2-client-micro.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/clusters/1-mds-2-client-micro.yaml
new file mode 100644
index 00000000..9b443f7d
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/clusters/1-mds-2-client-micro.yaml
@@ -0,0 +1,7 @@
+roles:
+- [mon.a, mon.b, mon.c, mgr.x, mgr.y, mds.a, mds.b, mds.c, osd.0, osd.1, osd.2, osd.3]
+- [client.0, client.1]
+openstack:
+- volumes: # attached to each instance
+ count: 4
+ size: 10 # GB
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/conf b/qa/suites/fs/upgrade/volumes/import-legacy/conf
new file mode 120000
index 00000000..6d471298
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/+ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/+
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/.qa b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/frag_enable.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/pg-warn.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/pg-warn.yaml
new file mode 100644
index 00000000..4ae54a40
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/pg-warn.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ mon pg warn min per osd: 0
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_health.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/% b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/%
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/.qa b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/0-mimic.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/0-mimic.yaml
new file mode 100644
index 00000000..1ca8973b
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/0-mimic.yaml
@@ -0,0 +1,42 @@
+meta:
+- desc: |
+ install ceph/mimic latest
+tasks:
+- install:
+ branch: mimic #tag: v13.2.8
+ exclude_packages:
+ - librados3
+ - ceph-mgr-dashboard
+ - ceph-mgr-diskprediction-local
+ - ceph-mgr-diskprediction-cloud
+ - ceph-mgr-rook
+ - ceph-mgr-cephadm
+ - cephadm
+ extra_packages: ['librados2']
+- print: "**** done installing mimic"
+- ceph:
+ mon_bind_addrvec: false
+ mon_bind_msgr2: false
+ log-whitelist:
+ - overall HEALTH_
+ - \(FS_
+ - \(MDS_
+ - \(OSD_
+ - \(MON_DOWN\)
+ - \(CACHE_POOL_
+ - \(POOL_
+ - \(MGR_DOWN\)
+ - \(PG_
+ - \(SMALLER_PGP_NUM\)
+ - Monitor daemon marked osd
+ - Behind on trimming
+ - Manager daemon
+ conf:
+ global:
+ mon warn on pool no app: false
+ ms bind msgr2: false
+- exec:
+ osd.0:
+ - ceph osd require-osd-release mimic
+ - ceph osd set-require-min-compat-client mimic
+- print: "**** done ceph"
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/1-client.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/1-client.yaml
new file mode 100644
index 00000000..82731071
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/1-client.yaml
@@ -0,0 +1,33 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - fs/upgrade/volume_client
+ env:
+ ACTION: create
+- print: "**** fs/volume_client create"
+- ceph-fuse:
+ client.0:
+ mount_path: /volumes/_nogroup/vol_isolated
+ mountpoint: mnt.0
+ auth_id: vol_data_isolated
+ client.1:
+ mount_path: /volumes/_nogroup/vol_default
+ mountpoint: mnt.1
+ auth_id: vol_default
+- print: "**** ceph-fuse vol_isolated"
+- workunit:
+ clients:
+ client.0:
+ - fs/upgrade/volume_client
+ env:
+ ACTION: populate
+ cleanup: false
+- workunit:
+ clients:
+ client.1:
+ - fs/upgrade/volume_client
+ env:
+ ACTION: populate
+ cleanup: false
+- print: "**** fs/volume_client populate"
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/2-upgrade.yaml
new file mode 100644
index 00000000..fd23132b
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/2-upgrade.yaml
@@ -0,0 +1,54 @@
+overrides:
+ ceph:
+ mon_bind_msgr2: false
+ mon_bind_addrvec: false
+ log-whitelist:
+ - scrub mismatch
+ - ScrubResult
+ - wrongly marked
+ - \(POOL_APP_NOT_ENABLED\)
+ - \(SLOW_OPS\)
+ - overall HEALTH_
+ - \(MON_MSGR2_NOT_ENABLED\)
+ - slow request
+ conf:
+ global:
+ bluestore warn on legacy statfs: false
+ bluestore warn on no per pool omap: false
+ mon:
+ mon warn on osd down out interval zero: false
+
+tasks:
+- mds_pre_upgrade:
+- print: "**** done mds pre-upgrade sequence"
+- install.upgrade:
+ mon.a:
+- print: "**** done install.upgrade both hosts"
+- ceph.restart:
+ daemons: [mon.*, mgr.*]
+ mon-health-to-clog: false
+ wait-for-healthy: false
+- exec:
+ mon.a:
+ - ceph config set global mon_warn_on_msgr2_not_enabled false
+- ceph.healthy:
+- ceph.restart:
+ daemons: [osd.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- ceph.stop: [mds.*]
+- ceph.restart:
+ daemons: [mds.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- exec:
+ mon.a:
+ - ceph mon enable-msgr2
+ - ceph versions
+ - ceph osd dump -f json-pretty
+ - ceph config rm global mon_warn_on_msgr2_not_enabled
+ - ceph osd require-osd-release nautilus
+ - for f in `ceph osd pool ls` ; do ceph osd pool set $f pg_autoscale_mode off ; done
+ #- ceph osd set-require-min-compat-client nautilus
+- ceph.healthy:
+- print: "**** done ceph.restart"
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/tasks/3-verify.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/3-verify.yaml
new file mode 100644
index 00000000..003409ca
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/tasks/3-verify.yaml
@@ -0,0 +1,25 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - missing required features
+tasks:
+- exec:
+ mon.a:
+ - ceph fs dump --format=json-pretty
+ - ceph fs volume ls
+ - ceph fs subvolume ls cephfs
+- workunit:
+ clients:
+ client.0:
+ - fs/upgrade/volume_client
+ env:
+ ACTION: verify
+ cleanup: false
+- workunit:
+ clients:
+ client.1:
+ - fs/upgrade/volume_client
+ env:
+ ACTION: verify
+ cleanup: false
+- print: "**** fs/volume_client verify"
diff --git a/qa/suites/fs/upgrade/volumes/import-legacy/ubuntu_18.04.yaml b/qa/suites/fs/upgrade/volumes/import-legacy/ubuntu_18.04.yaml
new file mode 120000
index 00000000..cfb85f10
--- /dev/null
+++ b/qa/suites/fs/upgrade/volumes/import-legacy/ubuntu_18.04.yaml
@@ -0,0 +1 @@
+.qa/distros/all/ubuntu_18.04.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/% b/qa/suites/fs/verify/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/verify/%
diff --git a/qa/suites/fs/verify/.qa b/qa/suites/fs/verify/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/begin.yaml b/qa/suites/fs/verify/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/fs/verify/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/centos_latest.yaml b/qa/suites/fs/verify/centos_latest.yaml
new file mode 120000
index 00000000..bd9854e7
--- /dev/null
+++ b/qa/suites/fs/verify/centos_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_latest.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/clusters/.qa b/qa/suites/fs/verify/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/clusters/fixed-2-ucephfs.yaml b/qa/suites/fs/verify/clusters/fixed-2-ucephfs.yaml
new file mode 120000
index 00000000..b0c41a89
--- /dev/null
+++ b/qa/suites/fs/verify/clusters/fixed-2-ucephfs.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/fixed-2-ucephfs.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/conf b/qa/suites/fs/verify/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/fs/verify/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/fs/verify/mount/.qa b/qa/suites/fs/verify/mount/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/mount/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/mount/fuse.yaml b/qa/suites/fs/verify/mount/fuse.yaml
new file mode 120000
index 00000000..0e55da9f
--- /dev/null
+++ b/qa/suites/fs/verify/mount/fuse.yaml
@@ -0,0 +1 @@
+.qa/cephfs/mount/fuse.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/objectstore-ec b/qa/suites/fs/verify/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/fs/verify/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/fs/verify/overrides/+ b/qa/suites/fs/verify/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/+
diff --git a/qa/suites/fs/verify/overrides/.qa b/qa/suites/fs/verify/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/overrides/frag_enable.yaml b/qa/suites/fs/verify/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/overrides/mon-debug.yaml b/qa/suites/fs/verify/overrides/mon-debug.yaml
new file mode 100644
index 00000000..6ed3e6d5
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/mon-debug.yaml
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ mon:
+ debug ms: 1
+ debug mon: 20
diff --git a/qa/suites/fs/verify/overrides/session_timeout.yaml b/qa/suites/fs/verify/overrides/session_timeout.yaml
new file mode 120000
index 00000000..fce0318c
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/session_timeout.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/session_timeout.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/overrides/whitelist_health.yaml b/qa/suites/fs/verify/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/verify/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/fs/verify/overrides/whitelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/tasks/.qa b/qa/suites/fs/verify/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/tasks/cfuse_workunit_suites_dbench.yaml b/qa/suites/fs/verify/tasks/cfuse_workunit_suites_dbench.yaml
new file mode 120000
index 00000000..b0f876c3
--- /dev/null
+++ b/qa/suites/fs/verify/tasks/cfuse_workunit_suites_dbench.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_dbench.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/tasks/cfuse_workunit_suites_fsstress.yaml b/qa/suites/fs/verify/tasks/cfuse_workunit_suites_fsstress.yaml
new file mode 120000
index 00000000..c2e859ff
--- /dev/null
+++ b/qa/suites/fs/verify/tasks/cfuse_workunit_suites_fsstress.yaml
@@ -0,0 +1 @@
+.qa/cephfs/tasks/cfuse_workunit_suites_fsstress.yaml \ No newline at end of file
diff --git a/qa/suites/fs/verify/validater/.qa b/qa/suites/fs/verify/validater/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/fs/verify/validater/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/verify/validater/lockdep.yaml b/qa/suites/fs/verify/validater/lockdep.yaml
new file mode 100644
index 00000000..25f84355
--- /dev/null
+++ b/qa/suites/fs/verify/validater/lockdep.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ lockdep: true
diff --git a/qa/suites/fs/verify/validater/valgrind.yaml b/qa/suites/fs/verify/validater/valgrind.yaml
new file mode 100644
index 00000000..3da39d69
--- /dev/null
+++ b/qa/suites/fs/verify/validater/valgrind.yaml
@@ -0,0 +1,29 @@
+# Only works on os_type: centos
+# See http://tracker.ceph.com/issues/20360 and http://tracker.ceph.com/issues/18126
+
+overrides:
+ install:
+ ceph:
+ debuginfo: true
+ ceph:
+ # Valgrind makes everything slow, so ignore slow requests and extend heartbeat grace
+ log-whitelist:
+ - slow requests are blocked
+ conf:
+ global:
+ osd heartbeat grace: 40
+ mds:
+ mds heartbeat grace: 60
+ mon:
+ mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
+ valgrind:
+ mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
+ osd: [--tool=memcheck]
+ mds: [--tool=memcheck]
+# see https://tracker.ceph.com/issues/38621
+# mgr: [--tool=memcheck]
+ ceph-fuse:
+ client.0:
+ valgrind: [--tool=memcheck, --leak-check=full, --show-reachable=yes]