summaryrefslogtreecommitdiffstats
path: root/qa/suites/kcephfs
diff options
context:
space:
mode:
Diffstat (limited to 'qa/suites/kcephfs')
l---------qa/suites/kcephfs/.qa1
-rw-r--r--qa/suites/kcephfs/cephfs/%0
l---------qa/suites/kcephfs/cephfs/.qa1
l---------qa/suites/kcephfs/cephfs/begin.yaml1
l---------qa/suites/kcephfs/cephfs/clusters/.qa1
l---------qa/suites/kcephfs/cephfs/clusters/1-mds-1-client.yaml1
l---------qa/suites/kcephfs/cephfs/conf1
l---------qa/suites/kcephfs/cephfs/inline/.qa1
-rw-r--r--qa/suites/kcephfs/cephfs/inline/no.yaml0
-rw-r--r--qa/suites/kcephfs/cephfs/inline/yes.yaml4
l---------qa/suites/kcephfs/cephfs/kclient1
l---------qa/suites/kcephfs/cephfs/objectstore-ec1
-rw-r--r--qa/suites/kcephfs/cephfs/overrides/+0
l---------qa/suites/kcephfs/cephfs/overrides/.qa1
l---------qa/suites/kcephfs/cephfs/overrides/frag_enable.yaml1
l---------qa/suites/kcephfs/cephfs/overrides/log-config.yaml1
l---------qa/suites/kcephfs/cephfs/overrides/osd-asserts.yaml1
l---------qa/suites/kcephfs/cephfs/overrides/whitelist_health.yaml1
l---------qa/suites/kcephfs/cephfs/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/kcephfs/cephfs/tasks/.qa1
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_direct_io.yaml6
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_kernel_untar_build.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_misc.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_o_trunc.yaml6
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_snaps.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_dbench.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_ffsb.yaml10
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsstress.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsx.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsync.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_iozone.yaml5
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_pjd.yaml6
-rw-r--r--qa/suites/kcephfs/cephfs/tasks/kclient_workunit_trivial_sync.yaml4
-rw-r--r--qa/suites/kcephfs/mixed-clients/%0
l---------qa/suites/kcephfs/mixed-clients/.qa1
l---------qa/suites/kcephfs/mixed-clients/begin.yaml1
l---------qa/suites/kcephfs/mixed-clients/clusters/.qa1
l---------qa/suites/kcephfs/mixed-clients/clusters/1-mds-2-client.yaml1
l---------qa/suites/kcephfs/mixed-clients/conf1
l---------qa/suites/kcephfs/mixed-clients/kclient-overrides1
l---------qa/suites/kcephfs/mixed-clients/objectstore-ec1
-rw-r--r--qa/suites/kcephfs/mixed-clients/overrides/+0
l---------qa/suites/kcephfs/mixed-clients/overrides/.qa1
l---------qa/suites/kcephfs/mixed-clients/overrides/frag_enable.yaml1
l---------qa/suites/kcephfs/mixed-clients/overrides/log-config.yaml1
l---------qa/suites/kcephfs/mixed-clients/overrides/osd-asserts.yaml1
l---------qa/suites/kcephfs/mixed-clients/overrides/whitelist_health.yaml1
l---------qa/suites/kcephfs/mixed-clients/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/kcephfs/mixed-clients/tasks/.qa1
-rw-r--r--qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_dbench_iozone.yaml18
-rw-r--r--qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_untarbuild_blogbench.yaml18
-rw-r--r--qa/suites/kcephfs/recovery/%0
l---------qa/suites/kcephfs/recovery/.qa1
l---------qa/suites/kcephfs/recovery/begin.yaml1
l---------qa/suites/kcephfs/recovery/clusters/.qa1
l---------qa/suites/kcephfs/recovery/clusters/1-mds-4-client.yaml1
l---------qa/suites/kcephfs/recovery/conf1
l---------qa/suites/kcephfs/recovery/kclient1
l---------qa/suites/kcephfs/recovery/objectstore-ec1
-rw-r--r--qa/suites/kcephfs/recovery/overrides/+0
l---------qa/suites/kcephfs/recovery/overrides/.qa1
l---------qa/suites/kcephfs/recovery/overrides/frag_enable.yaml1
l---------qa/suites/kcephfs/recovery/overrides/log-config.yaml1
l---------qa/suites/kcephfs/recovery/overrides/osd-asserts.yaml1
l---------qa/suites/kcephfs/recovery/overrides/whitelist_health.yaml1
l---------qa/suites/kcephfs/recovery/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/kcephfs/recovery/tasks/.qa1
-rw-r--r--qa/suites/kcephfs/recovery/tasks/auto-repair.yaml13
-rw-r--r--qa/suites/kcephfs/recovery/tasks/backtrace.yaml5
-rw-r--r--qa/suites/kcephfs/recovery/tasks/client-limits.yaml20
-rw-r--r--qa/suites/kcephfs/recovery/tasks/client-recovery.yaml15
-rw-r--r--qa/suites/kcephfs/recovery/tasks/damage.yaml27
-rw-r--r--qa/suites/kcephfs/recovery/tasks/data-scan.yaml19
-rw-r--r--qa/suites/kcephfs/recovery/tasks/failover.yaml12
-rw-r--r--qa/suites/kcephfs/recovery/tasks/forward-scrub.yaml14
-rw-r--r--qa/suites/kcephfs/recovery/tasks/journal-repair.yaml14
-rw-r--r--qa/suites/kcephfs/recovery/tasks/mds-flush.yaml5
-rw-r--r--qa/suites/kcephfs/recovery/tasks/mds-full.yaml29
-rw-r--r--qa/suites/kcephfs/recovery/tasks/pool-perm.yaml5
-rw-r--r--qa/suites/kcephfs/recovery/tasks/sessionmap.yaml10
-rw-r--r--qa/suites/kcephfs/recovery/tasks/strays.yaml5
-rw-r--r--qa/suites/kcephfs/recovery/tasks/volume-client.yaml9
-rw-r--r--qa/suites/kcephfs/thrash/%0
l---------qa/suites/kcephfs/thrash/.qa1
l---------qa/suites/kcephfs/thrash/begin.yaml1
l---------qa/suites/kcephfs/thrash/clusters/.qa1
l---------qa/suites/kcephfs/thrash/clusters/1-mds-1-client.yaml1
l---------qa/suites/kcephfs/thrash/conf1
l---------qa/suites/kcephfs/thrash/kclient1
l---------qa/suites/kcephfs/thrash/objectstore-ec1
-rw-r--r--qa/suites/kcephfs/thrash/overrides/+0
l---------qa/suites/kcephfs/thrash/overrides/.qa1
l---------qa/suites/kcephfs/thrash/overrides/frag_enable.yaml1
l---------qa/suites/kcephfs/thrash/overrides/log-config.yaml1
l---------qa/suites/kcephfs/thrash/overrides/osd-asserts.yaml1
l---------qa/suites/kcephfs/thrash/overrides/thrash-health-whitelist.yaml1
l---------qa/suites/kcephfs/thrash/overrides/whitelist_health.yaml1
l---------qa/suites/kcephfs/thrash/overrides/whitelist_wrongly_marked_down.yaml1
l---------qa/suites/kcephfs/thrash/thrashers/.qa1
-rw-r--r--qa/suites/kcephfs/thrash/thrashers/default.yaml7
-rw-r--r--qa/suites/kcephfs/thrash/thrashers/mds.yaml7
-rw-r--r--qa/suites/kcephfs/thrash/thrashers/mon.yaml9
l---------qa/suites/kcephfs/thrash/workloads/.qa1
-rw-r--r--qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_ffsb.yaml13
-rw-r--r--qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_iozone.yaml5
105 files changed, 415 insertions, 0 deletions
diff --git a/qa/suites/kcephfs/.qa b/qa/suites/kcephfs/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/% b/qa/suites/kcephfs/cephfs/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/%
diff --git a/qa/suites/kcephfs/cephfs/.qa b/qa/suites/kcephfs/cephfs/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/begin.yaml b/qa/suites/kcephfs/cephfs/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/clusters/.qa b/qa/suites/kcephfs/cephfs/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/clusters/1-mds-1-client.yaml b/qa/suites/kcephfs/cephfs/clusters/1-mds-1-client.yaml
new file mode 120000
index 00000000..64bdb79f
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/clusters/1-mds-1-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-1-client.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/conf b/qa/suites/kcephfs/cephfs/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/inline/.qa b/qa/suites/kcephfs/cephfs/inline/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/inline/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/inline/no.yaml b/qa/suites/kcephfs/cephfs/inline/no.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/inline/no.yaml
diff --git a/qa/suites/kcephfs/cephfs/inline/yes.yaml b/qa/suites/kcephfs/cephfs/inline/yes.yaml
new file mode 100644
index 00000000..da8677a5
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/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/kcephfs/cephfs/kclient b/qa/suites/kcephfs/cephfs/kclient
new file mode 120000
index 00000000..893d2d36
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/kclient
@@ -0,0 +1 @@
+.qa/cephfs/mount/kclient \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/objectstore-ec b/qa/suites/kcephfs/cephfs/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/+ b/qa/suites/kcephfs/cephfs/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/+
diff --git a/qa/suites/kcephfs/cephfs/overrides/.qa b/qa/suites/kcephfs/cephfs/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/frag_enable.yaml b/qa/suites/kcephfs/cephfs/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/log-config.yaml b/qa/suites/kcephfs/cephfs/overrides/log-config.yaml
new file mode 120000
index 00000000..d955aa5b
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/log-config.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/log-config.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/osd-asserts.yaml b/qa/suites/kcephfs/cephfs/overrides/osd-asserts.yaml
new file mode 120000
index 00000000..f290c749
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/osd-asserts.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/osd-asserts.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/whitelist_health.yaml b/qa/suites/kcephfs/cephfs/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/kcephfs/cephfs/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/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/kcephfs/cephfs/tasks/.qa b/qa/suites/kcephfs/cephfs/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_direct_io.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_direct_io.yaml
new file mode 100644
index 00000000..d0128bce
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_direct_io.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - direct_io
+
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_kernel_untar_build.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_kernel_untar_build.yaml
new file mode 100644
index 00000000..5c9acc10
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_kernel_untar_build.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - kernel_untar_build.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_misc.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_misc.yaml
new file mode 100644
index 00000000..aa62b9e8
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_misc.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/misc
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_o_trunc.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_o_trunc.yaml
new file mode 100644
index 00000000..91c953b9
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_o_trunc.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/test_o_trunc.sh
+
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_snaps.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_snaps.yaml
new file mode 100644
index 00000000..790c93c2
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_snaps.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - fs/snaps
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_dbench.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_dbench.yaml
new file mode 100644
index 00000000..41b2bc8e
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_dbench.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/dbench.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_ffsb.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_ffsb.yaml
new file mode 100644
index 00000000..3eedd281
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_ffsb.yaml
@@ -0,0 +1,10 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - SLOW_OPS
+ - slow request
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/ffsb.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsstress.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsstress.yaml
new file mode 100644
index 00000000..ddb18fb7
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsstress.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/fsstress.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsx.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsx.yaml
new file mode 100644
index 00000000..8b2b1ab5
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsx.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/fsx.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsync.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsync.yaml
new file mode 100644
index 00000000..7efa1adb
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsync.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/fsync-tester.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_iozone.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_iozone.yaml
new file mode 100644
index 00000000..9270f3c5
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_iozone.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/iozone.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_pjd.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_pjd.yaml
new file mode 100644
index 00000000..1de182ce
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_pjd.yaml
@@ -0,0 +1,6 @@
+tasks:
+- workunit:
+ timeout: 6h
+ clients:
+ all:
+ - suites/pjd.sh
diff --git a/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_trivial_sync.yaml b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_trivial_sync.yaml
new file mode 100644
index 00000000..36e7411b
--- /dev/null
+++ b/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_trivial_sync.yaml
@@ -0,0 +1,4 @@
+tasks:
+- workunit:
+ clients:
+ all: [fs/misc/trivial_sync.sh]
diff --git a/qa/suites/kcephfs/mixed-clients/% b/qa/suites/kcephfs/mixed-clients/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/%
diff --git a/qa/suites/kcephfs/mixed-clients/.qa b/qa/suites/kcephfs/mixed-clients/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/begin.yaml b/qa/suites/kcephfs/mixed-clients/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/clusters/.qa b/qa/suites/kcephfs/mixed-clients/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/clusters/1-mds-2-client.yaml b/qa/suites/kcephfs/mixed-clients/clusters/1-mds-2-client.yaml
new file mode 120000
index 00000000..9f4f161a
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/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/kcephfs/mixed-clients/conf b/qa/suites/kcephfs/mixed-clients/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/kclient-overrides b/qa/suites/kcephfs/mixed-clients/kclient-overrides
new file mode 120000
index 00000000..58b04fb2
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/kclient-overrides
@@ -0,0 +1 @@
+.qa/cephfs/mount/kclient/overrides/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/objectstore-ec b/qa/suites/kcephfs/mixed-clients/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/+ b/qa/suites/kcephfs/mixed-clients/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/+
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/.qa b/qa/suites/kcephfs/mixed-clients/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/frag_enable.yaml b/qa/suites/kcephfs/mixed-clients/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/log-config.yaml b/qa/suites/kcephfs/mixed-clients/overrides/log-config.yaml
new file mode 120000
index 00000000..d955aa5b
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/log-config.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/log-config.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/osd-asserts.yaml b/qa/suites/kcephfs/mixed-clients/overrides/osd-asserts.yaml
new file mode 120000
index 00000000..f290c749
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/osd-asserts.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/osd-asserts.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/whitelist_health.yaml b/qa/suites/kcephfs/mixed-clients/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/kcephfs/mixed-clients/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/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/kcephfs/mixed-clients/tasks/.qa b/qa/suites/kcephfs/mixed-clients/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_dbench_iozone.yaml b/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_dbench_iozone.yaml
new file mode 100644
index 00000000..78b2d761
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_dbench_iozone.yaml
@@ -0,0 +1,18 @@
+tasks:
+- parallel:
+ - user-workload
+ - kclient-workload
+user-workload:
+ sequential:
+ - ceph-fuse: [client.0]
+ - workunit:
+ clients:
+ client.0:
+ - suites/iozone.sh
+kclient-workload:
+ sequential:
+ - kclient: [client.1]
+ - workunit:
+ clients:
+ client.1:
+ - suites/dbench.sh
diff --git a/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_untarbuild_blogbench.yaml b/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_untarbuild_blogbench.yaml
new file mode 100644
index 00000000..d637ff98
--- /dev/null
+++ b/qa/suites/kcephfs/mixed-clients/tasks/kernel_cfuse_workunits_untarbuild_blogbench.yaml
@@ -0,0 +1,18 @@
+tasks:
+- parallel:
+ - user-workload
+ - kclient-workload
+user-workload:
+ sequential:
+ - ceph-fuse: [client.0]
+ - workunit:
+ clients:
+ client.0:
+ - suites/blogbench.sh
+kclient-workload:
+ sequential:
+ - kclient: [client.1]
+ - workunit:
+ clients:
+ client.1:
+ - kernel_untar_build.sh
diff --git a/qa/suites/kcephfs/recovery/% b/qa/suites/kcephfs/recovery/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/%
diff --git a/qa/suites/kcephfs/recovery/.qa b/qa/suites/kcephfs/recovery/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/begin.yaml b/qa/suites/kcephfs/recovery/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/clusters/.qa b/qa/suites/kcephfs/recovery/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/clusters/1-mds-4-client.yaml b/qa/suites/kcephfs/recovery/clusters/1-mds-4-client.yaml
new file mode 120000
index 00000000..65b01b41
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/clusters/1-mds-4-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-4-client.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/conf b/qa/suites/kcephfs/recovery/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/kclient b/qa/suites/kcephfs/recovery/kclient
new file mode 120000
index 00000000..22f94e15
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/kclient
@@ -0,0 +1 @@
+.qa/cephfs/mount/kclient/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/objectstore-ec b/qa/suites/kcephfs/recovery/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/+ b/qa/suites/kcephfs/recovery/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/+
diff --git a/qa/suites/kcephfs/recovery/overrides/.qa b/qa/suites/kcephfs/recovery/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/frag_enable.yaml b/qa/suites/kcephfs/recovery/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/frag_enable.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/frag_enable.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/log-config.yaml b/qa/suites/kcephfs/recovery/overrides/log-config.yaml
new file mode 120000
index 00000000..d955aa5b
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/log-config.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/log-config.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/osd-asserts.yaml b/qa/suites/kcephfs/recovery/overrides/osd-asserts.yaml
new file mode 120000
index 00000000..f290c749
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/osd-asserts.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/osd-asserts.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/whitelist_health.yaml b/qa/suites/kcephfs/recovery/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/overrides/whitelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/kcephfs/recovery/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/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/kcephfs/recovery/tasks/.qa b/qa/suites/kcephfs/recovery/tasks/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/recovery/tasks/auto-repair.yaml b/qa/suites/kcephfs/recovery/tasks/auto-repair.yaml
new file mode 100644
index 00000000..90d0e7bc
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/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/kcephfs/recovery/tasks/backtrace.yaml b/qa/suites/kcephfs/recovery/tasks/backtrace.yaml
new file mode 100644
index 00000000..d740a5f6
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/backtrace.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_backtrace
diff --git a/qa/suites/kcephfs/recovery/tasks/client-limits.yaml b/qa/suites/kcephfs/recovery/tasks/client-limits.yaml
new file mode 100644
index 00000000..f816cee9
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/client-limits.yaml
@@ -0,0 +1,20 @@
+
+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:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_client_limits
diff --git a/qa/suites/kcephfs/recovery/tasks/client-recovery.yaml b/qa/suites/kcephfs/recovery/tasks/client-recovery.yaml
new file mode 100644
index 00000000..725a259d
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/client-recovery.yaml
@@ -0,0 +1,15 @@
+
+# The task interferes with the network, so we need
+# to permit OSDs to complain about that.
+overrides:
+ ceph:
+ log-whitelist:
+ - but it is still running
+ - slow request
+ - evicting unresponsive client
+
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_client_recovery
diff --git a/qa/suites/kcephfs/recovery/tasks/damage.yaml b/qa/suites/kcephfs/recovery/tasks/damage.yaml
new file mode 100644
index 00000000..9ae738f0
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/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/kcephfs/recovery/tasks/data-scan.yaml b/qa/suites/kcephfs/recovery/tasks/data-scan.yaml
new file mode 100644
index 00000000..8a05e22a
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/data-scan.yaml
@@ -0,0 +1,19 @@
+
+overrides:
+ ceph:
+ log-whitelist:
+ - bad backtrace
+ - object missing on disk
+ - error reading table object
+ - error reading sessionmap
+ - unmatched fragstat
+ - 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/kcephfs/recovery/tasks/failover.yaml b/qa/suites/kcephfs/recovery/tasks/failover.yaml
new file mode 100644
index 00000000..ab7b4d37
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/failover.yaml
@@ -0,0 +1,12 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - not responding, replacing
+ - \(MDS_INSUFFICIENT_STANDBY\)
+ - \(MDS_ALL_DOWN\)
+ - \(MDS_UP_LESS_THAN_MAX\)
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_failover
diff --git a/qa/suites/kcephfs/recovery/tasks/forward-scrub.yaml b/qa/suites/kcephfs/recovery/tasks/forward-scrub.yaml
new file mode 100644
index 00000000..b92cf105
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/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/kcephfs/recovery/tasks/journal-repair.yaml b/qa/suites/kcephfs/recovery/tasks/journal-repair.yaml
new file mode 100644
index 00000000..66f819d0
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/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/kcephfs/recovery/tasks/mds-flush.yaml b/qa/suites/kcephfs/recovery/tasks/mds-flush.yaml
new file mode 100644
index 00000000..d59a8ad5
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/mds-flush.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_flush
diff --git a/qa/suites/kcephfs/recovery/tasks/mds-full.yaml b/qa/suites/kcephfs/recovery/tasks/mds-full.yaml
new file mode 100644
index 00000000..e9744e71
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/mds-full.yaml
@@ -0,0 +1,29 @@
+
+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
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_full
diff --git a/qa/suites/kcephfs/recovery/tasks/pool-perm.yaml b/qa/suites/kcephfs/recovery/tasks/pool-perm.yaml
new file mode 100644
index 00000000..f220626d
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/pool-perm.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_pool_perm
diff --git a/qa/suites/kcephfs/recovery/tasks/sessionmap.yaml b/qa/suites/kcephfs/recovery/tasks/sessionmap.yaml
new file mode 100644
index 00000000..88ae6019
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/sessionmap.yaml
@@ -0,0 +1,10 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - client session with non-allowable root
+
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_sessionmap
diff --git a/qa/suites/kcephfs/recovery/tasks/strays.yaml b/qa/suites/kcephfs/recovery/tasks/strays.yaml
new file mode 100644
index 00000000..2809fc14
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/strays.yaml
@@ -0,0 +1,5 @@
+
+tasks:
+ - cephfs_test_runner:
+ modules:
+ - tasks.cephfs.test_strays
diff --git a/qa/suites/kcephfs/recovery/tasks/volume-client.yaml b/qa/suites/kcephfs/recovery/tasks/volume-client.yaml
new file mode 100644
index 00000000..9ecaaf4f
--- /dev/null
+++ b/qa/suites/kcephfs/recovery/tasks/volume-client.yaml
@@ -0,0 +1,9 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - MON_DOWN
+tasks:
+ - cephfs_test_runner:
+ fail_on_skip: false
+ modules:
+ - tasks.cephfs.test_volume_client
diff --git a/qa/suites/kcephfs/thrash/% b/qa/suites/kcephfs/thrash/%
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/%
diff --git a/qa/suites/kcephfs/thrash/.qa b/qa/suites/kcephfs/thrash/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/begin.yaml b/qa/suites/kcephfs/thrash/begin.yaml
new file mode 120000
index 00000000..311d404f
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/begin.yaml
@@ -0,0 +1 @@
+.qa/cephfs/begin.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/clusters/.qa b/qa/suites/kcephfs/thrash/clusters/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/clusters/1-mds-1-client.yaml b/qa/suites/kcephfs/thrash/clusters/1-mds-1-client.yaml
new file mode 120000
index 00000000..64bdb79f
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/clusters/1-mds-1-client.yaml
@@ -0,0 +1 @@
+.qa/cephfs/clusters/1-mds-1-client.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/conf b/qa/suites/kcephfs/thrash/conf
new file mode 120000
index 00000000..16e8cc44
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/kclient b/qa/suites/kcephfs/thrash/kclient
new file mode 120000
index 00000000..22f94e15
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/kclient
@@ -0,0 +1 @@
+.qa/cephfs/mount/kclient/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/objectstore-ec b/qa/suites/kcephfs/thrash/objectstore-ec
new file mode 120000
index 00000000..affe2949
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/objectstore-ec
@@ -0,0 +1 @@
+.qa/cephfs/objectstore-ec \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/overrides/+ b/qa/suites/kcephfs/thrash/overrides/+
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/overrides/+
diff --git a/qa/suites/kcephfs/thrash/overrides/.qa b/qa/suites/kcephfs/thrash/overrides/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/overrides/frag_enable.yaml b/qa/suites/kcephfs/thrash/overrides/frag_enable.yaml
new file mode 120000
index 00000000..34a39a36
--- /dev/null
+++ b/qa/suites/kcephfs/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/kcephfs/thrash/overrides/log-config.yaml b/qa/suites/kcephfs/thrash/overrides/log-config.yaml
new file mode 120000
index 00000000..d955aa5b
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/overrides/log-config.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/log-config.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/overrides/osd-asserts.yaml b/qa/suites/kcephfs/thrash/overrides/osd-asserts.yaml
new file mode 120000
index 00000000..f290c749
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/overrides/osd-asserts.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/osd-asserts.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/overrides/thrash-health-whitelist.yaml b/qa/suites/kcephfs/thrash/overrides/thrash-health-whitelist.yaml
new file mode 120000
index 00000000..9124eb1a
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/overrides/thrash-health-whitelist.yaml
@@ -0,0 +1 @@
+.qa/tasks/thrashosds-health.yaml \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/overrides/whitelist_health.yaml b/qa/suites/kcephfs/thrash/overrides/whitelist_health.yaml
new file mode 120000
index 00000000..74f39a49
--- /dev/null
+++ b/qa/suites/kcephfs/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/kcephfs/thrash/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/kcephfs/thrash/overrides/whitelist_wrongly_marked_down.yaml
new file mode 120000
index 00000000..b4528c0f
--- /dev/null
+++ b/qa/suites/kcephfs/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/kcephfs/thrash/thrashers/.qa b/qa/suites/kcephfs/thrash/thrashers/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/thrashers/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/thrashers/default.yaml b/qa/suites/kcephfs/thrash/thrashers/default.yaml
new file mode 100644
index 00000000..1829619b
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/thrashers/default.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - but it is still running
+ - objects unfound and apparently lost
+tasks:
+- thrashosds:
diff --git a/qa/suites/kcephfs/thrash/thrashers/mds.yaml b/qa/suites/kcephfs/thrash/thrashers/mds.yaml
new file mode 100644
index 00000000..ce87575c
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/thrashers/mds.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - not responding, replacing
+
+tasks:
+- mds_thrash:
diff --git a/qa/suites/kcephfs/thrash/thrashers/mon.yaml b/qa/suites/kcephfs/thrash/thrashers/mon.yaml
new file mode 100644
index 00000000..d72a99cb
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/thrashers/mon.yaml
@@ -0,0 +1,9 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - \(MON_DOWN\)
+
+tasks:
+- mon_thrash:
+ revive_delay: 20
+ thrash_delay: 1
diff --git a/qa/suites/kcephfs/thrash/workloads/.qa b/qa/suites/kcephfs/thrash/workloads/.qa
new file mode 120000
index 00000000..a602a035
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/workloads/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_ffsb.yaml b/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_ffsb.yaml
new file mode 100644
index 00000000..53e74bea
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_ffsb.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ log-whitelist:
+ - SLOW_OPS
+ - slow request
+ conf:
+ osd:
+ filestore flush min: 0
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/ffsb.sh
diff --git a/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_iozone.yaml b/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_iozone.yaml
new file mode 100644
index 00000000..9270f3c5
--- /dev/null
+++ b/qa/suites/kcephfs/thrash/workloads/kclient_workunit_suites_iozone.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ all:
+ - suites/iozone.sh