summaryrefslogtreecommitdiffstats
path: root/qa/suites/crimson-rados
diff options
context:
space:
mode:
Diffstat (limited to 'qa/suites/crimson-rados')
l---------qa/suites/crimson-rados/.qa1
-rw-r--r--qa/suites/crimson-rados/basic/%0
l---------qa/suites/crimson-rados/basic/.qa1
l---------qa/suites/crimson-rados/basic/centos_8.stream.yaml1
l---------qa/suites/crimson-rados/basic/clusters/.qa1
-rw-r--r--qa/suites/crimson-rados/basic/clusters/fixed-2.yaml15
l---------qa/suites/crimson-rados/basic/crimson-supported-all-distro1
l---------qa/suites/crimson-rados/basic/crimson_qa_overrides.yaml1
l---------qa/suites/crimson-rados/basic/deploy/.qa1
-rw-r--r--qa/suites/crimson-rados/basic/deploy/ceph.yaml18
-rw-r--r--qa/suites/crimson-rados/basic/deploy/cephadm.yaml.disabled16
l---------qa/suites/crimson-rados/basic/tasks/.qa1
-rw-r--r--qa/suites/crimson-rados/basic/tasks/rados_api_tests.yaml28
-rw-r--r--qa/suites/crimson-rados/basic/tasks/rados_python.yaml20
-rw-r--r--qa/suites/crimson-rados/basic/tasks/readwrite.yaml17
-rw-r--r--qa/suites/crimson-rados/rbd/%0
l---------qa/suites/crimson-rados/rbd/.qa1
l---------qa/suites/crimson-rados/rbd/centos_8.stream.yaml1
l---------qa/suites/crimson-rados/rbd/clusters/.qa1
-rw-r--r--qa/suites/crimson-rados/rbd/clusters/fixed-1.yaml21
l---------qa/suites/crimson-rados/rbd/crimson-supported-all-distro1
l---------qa/suites/crimson-rados/rbd/crimson_qa_overrides.yaml1
l---------qa/suites/crimson-rados/rbd/deploy/.qa1
-rw-r--r--qa/suites/crimson-rados/rbd/deploy/ceph.yaml18
-rw-r--r--qa/suites/crimson-rados/rbd/deploy/cephadm.yaml.disabled16
l---------qa/suites/crimson-rados/rbd/tasks/.qa1
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_api_tests.yaml21
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_api_tests_old_format.yaml13
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_cls_tests.yaml7
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_lock_and_fence.yaml5
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml16
-rw-r--r--qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests_old_format.yaml14
-rw-r--r--qa/suites/crimson-rados/singleton/%0
l---------qa/suites/crimson-rados/singleton/.qa1
l---------qa/suites/crimson-rados/singleton/all/.qa1
-rw-r--r--qa/suites/crimson-rados/singleton/all/osd-backfill.yaml29
l---------qa/suites/crimson-rados/singleton/crimson-supported-all-distro1
l---------qa/suites/crimson-rados/singleton/crimson_qa_overrides.yaml1
l---------qa/suites/crimson-rados/singleton/objectstore1
l---------qa/suites/crimson-rados/singleton/rados.yaml1
-rw-r--r--qa/suites/crimson-rados/thrash/%0
l---------qa/suites/crimson-rados/thrash/.qa1
l---------qa/suites/crimson-rados/thrash/0-size-min-size-overrides/.qa1
l---------qa/suites/crimson-rados/thrash/0-size-min-size-overrides/2-size-2-min-size.yaml.disabled1
l---------qa/suites/crimson-rados/thrash/0-size-min-size-overrides/3-size-2-min-size.yaml1
l---------qa/suites/crimson-rados/thrash/1-pg-log-overrides/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/1-pg-log-overrides/normal_pg_log.yaml0
l---------qa/suites/crimson-rados/thrash/1-pg-log-overrides/short_pg_log.yaml.disabled1
-rw-r--r--qa/suites/crimson-rados/thrash/2-recovery-overrides/$0
l---------qa/suites/crimson-rados/thrash/2-recovery-overrides/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/2-recovery-overrides/default.yaml0
l---------qa/suites/crimson-rados/thrash/2-recovery-overrides/more-active-recovery.yaml.disabled1
-rw-r--r--qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-partial-recovery.yaml.disabled6
-rw-r--r--qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-recovery.yaml.disabled5
-rw-r--r--qa/suites/crimson-rados/thrash/2-recovery-overrides/more-partial-recovery.yaml.disabled5
l---------qa/suites/crimson-rados/thrash/centos_8.stream.yaml1
-rw-r--r--qa/suites/crimson-rados/thrash/clusters/+0
l---------qa/suites/crimson-rados/thrash/clusters/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/clusters/fixed-2.yaml15
-rw-r--r--qa/suites/crimson-rados/thrash/clusters/openstack.yaml.disabled4
l---------qa/suites/crimson-rados/thrash/crimson-supported-all-distro1
l---------qa/suites/crimson-rados/thrash/crimson_qa_overrides.yaml1
l---------qa/suites/crimson-rados/thrash/deploy/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/deploy/ceph.yaml11
-rw-r--r--qa/suites/crimson-rados/thrash/deploy/cephadm.yaml.disabled16
l---------qa/suites/crimson-rados/thrash/objectstore/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/objectstore/bluestore.yaml23
l---------qa/suites/crimson-rados/thrash/thrashers/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/thrashers/default.yaml35
l---------qa/suites/crimson-rados/thrash/thrashosds-health.yaml1
l---------qa/suites/crimson-rados/thrash/workloads/.qa1
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/admin_socket_objecter_requests.yaml13
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/pool-snaps-few-objects.yaml20
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/radosbench-high-concurrency.yaml49
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/radosbench.yaml24
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/small-objects-balanced.yaml23
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/small-objects-localized.yaml23
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/small-objects.yaml22
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-balanced.yaml15
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-localized.yaml15
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/snaps-few-objects.yaml14
-rw-r--r--qa/suites/crimson-rados/thrash/workloads/write_fadvise_dontneed.yaml8
82 files changed, 658 insertions, 0 deletions
diff --git a/qa/suites/crimson-rados/.qa b/qa/suites/crimson-rados/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/% b/qa/suites/crimson-rados/basic/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/%
diff --git a/qa/suites/crimson-rados/basic/.qa b/qa/suites/crimson-rados/basic/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/centos_8.stream.yaml b/qa/suites/crimson-rados/basic/centos_8.stream.yaml
new file mode 120000
index 000000000..5dceec7e2
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/centos_8.stream.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_8.stream.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/clusters/.qa b/qa/suites/crimson-rados/basic/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/clusters/fixed-2.yaml b/qa/suites/crimson-rados/basic/clusters/fixed-2.yaml
new file mode 100644
index 000000000..9774de688
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/clusters/fixed-2.yaml
@@ -0,0 +1,15 @@
+roles:
+- [mon.a, osd.0, osd.1, client.0, node-exporter.a]
+- [mgr.x, osd.2, osd.3, client.1, prometheus.a, node-exporter.b]
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd shutdown pgref assert: true
+ global:
+ ms cluster mode: crc
+ ms service mode: crc
+ ms client mode: crc
+ ms mon service mode: crc
+ ms mon cluster mode: crc
+ ms mon client mode: crc
diff --git a/qa/suites/crimson-rados/basic/crimson-supported-all-distro b/qa/suites/crimson-rados/basic/crimson-supported-all-distro
new file mode 120000
index 000000000..a5b729b9e
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/crimson-supported-all-distro
@@ -0,0 +1 @@
+.qa/distros/crimson-supported-all-distro/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/basic/crimson_qa_overrides.yaml
new file mode 120000
index 000000000..2bf67af1b
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/crimson_qa_overrides.yaml
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/deploy/.qa b/qa/suites/crimson-rados/basic/deploy/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/deploy/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/deploy/ceph.yaml b/qa/suites/crimson-rados/basic/deploy/ceph.yaml
new file mode 100644
index 000000000..c22f08eec
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/deploy/ceph.yaml
@@ -0,0 +1,18 @@
+overrides:
+ install:
+ ceph:
+ flavor: crimson
+tasks:
+- install:
+- ceph:
+ conf:
+ osd:
+ debug monc: 20
+ mon:
+ mon min osdmap epochs: 50
+ paxos service trim min: 10
+ # prune full osdmaps regularly
+ mon osdmap full prune min: 15
+ mon osdmap full prune interval: 2
+ mon osdmap full prune txsize: 2
+ flavor: crimson
diff --git a/qa/suites/crimson-rados/basic/deploy/cephadm.yaml.disabled b/qa/suites/crimson-rados/basic/deploy/cephadm.yaml.disabled
new file mode 100644
index 000000000..0c2062240
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/deploy/cephadm.yaml.disabled
@@ -0,0 +1,16 @@
+# no need to verify os + flavor + sha1
+verify_ceph_hash: false
+tasks:
+- cephadm:
+ conf:
+ mgr:
+ debug ms: 1
+ debug mgr: 20
+ debug osd: 10
+- cephadm.shell:
+ mon.a:
+ - ceph orch status
+ - ceph orch ps
+ - ceph orch ls
+ - ceph orch host ls
+ - ceph orch device ls
diff --git a/qa/suites/crimson-rados/basic/tasks/.qa b/qa/suites/crimson-rados/basic/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/basic/tasks/rados_api_tests.yaml b/qa/suites/crimson-rados/basic/tasks/rados_api_tests.yaml
new file mode 100644
index 000000000..ad8c92142
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/tasks/rados_api_tests.yaml
@@ -0,0 +1,28 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - reached quota
+ - but it is still running
+ - overall HEALTH_
+ - \(POOL_FULL\)
+ - \(SMALLER_PGP_NUM\)
+ - \(CACHE_POOL_NO_HIT_SET\)
+ - \(CACHE_POOL_NEAR_FULL\)
+ - \(POOL_APP_NOT_ENABLED\)
+ - \(PG_AVAILABILITY\)
+ - \(PG_DEGRADED\)
+ conf:
+ client:
+ debug ms: 1
+ mon:
+ mon warn on pool no app: false
+ osd:
+ osd class load list: "*"
+ osd class default list: "*"
+ osd blocked scrub grace period: 3600
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rados/test.sh
+ - rados/test_pool_quota.sh
diff --git a/qa/suites/crimson-rados/basic/tasks/rados_python.yaml b/qa/suites/crimson-rados/basic/tasks/rados_python.yaml
new file mode 100644
index 000000000..aa8719d9f
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/tasks/rados_python.yaml
@@ -0,0 +1,20 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - but it is still running
+ - overall HEALTH_
+ - \(OSDMAP_FLAGS\)
+ - \(PG_
+ - \(OSD_
+ - \(OBJECT_
+ - \(POOL_APP_NOT_ENABLED\)
+ install:
+ ceph:
+ extra_system_packages:
+ - python3-pytest
+tasks:
+- workunit:
+ timeout: 1h
+ clients:
+ client.0:
+ - rados/test_python.sh -m 'not (wait or tier or ec or bench or stats)'
diff --git a/qa/suites/crimson-rados/basic/tasks/readwrite.yaml b/qa/suites/crimson-rados/basic/tasks/readwrite.yaml
new file mode 100644
index 000000000..f135107c7
--- /dev/null
+++ b/qa/suites/crimson-rados/basic/tasks/readwrite.yaml
@@ -0,0 +1,17 @@
+overrides:
+ ceph:
+ crush_tunables: optimal
+ conf:
+ mon:
+ mon osd initial require min compat client: luminous
+ osd:
+ osd_discard_disconnected_ops: false
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ op_weights:
+ read: 45
+ write: 45
+ delete: 10
diff --git a/qa/suites/crimson-rados/rbd/% b/qa/suites/crimson-rados/rbd/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/%
diff --git a/qa/suites/crimson-rados/rbd/.qa b/qa/suites/crimson-rados/rbd/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/centos_8.stream.yaml b/qa/suites/crimson-rados/rbd/centos_8.stream.yaml
new file mode 120000
index 000000000..5dceec7e2
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/centos_8.stream.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_8.stream.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/clusters/.qa b/qa/suites/crimson-rados/rbd/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/clusters/fixed-1.yaml b/qa/suites/crimson-rados/rbd/clusters/fixed-1.yaml
new file mode 100644
index 000000000..d204f3eb2
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/clusters/fixed-1.yaml
@@ -0,0 +1,21 @@
+overrides:
+ ceph-deploy:
+ conf:
+ global:
+ osd pool default size: 2
+ osd crush chooseleaf type: 0
+ osd pool default pg num: 128
+ osd pool default pgp num: 128
+ ceph:
+ conf:
+ osd:
+ osd shutdown pgref assert: true
+ global:
+ ms cluster mode: crc
+ ms service mode: crc
+ ms client mode: crc
+ ms mon service mode: crc
+ ms mon cluster mode: crc
+ ms mon client mode: crc
+roles:
+- [mon.a, mgr.x, osd.0, osd.1, osd.2, client.0]
diff --git a/qa/suites/crimson-rados/rbd/crimson-supported-all-distro b/qa/suites/crimson-rados/rbd/crimson-supported-all-distro
new file mode 120000
index 000000000..a5b729b9e
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/crimson-supported-all-distro
@@ -0,0 +1 @@
+.qa/distros/crimson-supported-all-distro/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/rbd/crimson_qa_overrides.yaml
new file mode 120000
index 000000000..2bf67af1b
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/crimson_qa_overrides.yaml
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/deploy/.qa b/qa/suites/crimson-rados/rbd/deploy/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/deploy/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/deploy/ceph.yaml b/qa/suites/crimson-rados/rbd/deploy/ceph.yaml
new file mode 100644
index 000000000..c22f08eec
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/deploy/ceph.yaml
@@ -0,0 +1,18 @@
+overrides:
+ install:
+ ceph:
+ flavor: crimson
+tasks:
+- install:
+- ceph:
+ conf:
+ osd:
+ debug monc: 20
+ mon:
+ mon min osdmap epochs: 50
+ paxos service trim min: 10
+ # prune full osdmaps regularly
+ mon osdmap full prune min: 15
+ mon osdmap full prune interval: 2
+ mon osdmap full prune txsize: 2
+ flavor: crimson
diff --git a/qa/suites/crimson-rados/rbd/deploy/cephadm.yaml.disabled b/qa/suites/crimson-rados/rbd/deploy/cephadm.yaml.disabled
new file mode 100644
index 000000000..0c2062240
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/deploy/cephadm.yaml.disabled
@@ -0,0 +1,16 @@
+# no need to verify os + flavor + sha1
+verify_ceph_hash: false
+tasks:
+- cephadm:
+ conf:
+ mgr:
+ debug ms: 1
+ debug mgr: 20
+ debug osd: 10
+- cephadm.shell:
+ mon.a:
+ - ceph orch status
+ - ceph orch ps
+ - ceph orch ls
+ - ceph orch host ls
+ - ceph orch device ls
diff --git a/qa/suites/crimson-rados/rbd/tasks/.qa b/qa/suites/crimson-rados/rbd/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests.yaml
new file mode 100644
index 000000000..b0d019bbe
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests.yaml
@@ -0,0 +1,21 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - overall HEALTH_
+ - \(CACHE_POOL_NO_HIT_SET\)
+ - \(POOL_APP_NOT_ENABLED\)
+ - is full \(reached quota
+ - \(OSDMAP_FLAGS\)
+ - \(OSD_
+ - \(PG_
+ - \(POOL_
+ - \(CACHE_POOL_
+ - \(POOL_FULL\)
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/crimson/test_crimson_librbd.sh
+ env:
+ RBD_FEATURES: "61"
+
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests_old_format.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests_old_format.yaml
new file mode 100644
index 000000000..a6b85f7b3
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_api_tests_old_format.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - overall HEALTH_
+ - \(CACHE_POOL_NO_HIT_SET\)
+ - \(POOL_APP_NOT_ENABLED\)
+ - is full \(reached quota
+ - \(POOL_FULL\)
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/crimson/test_crimson_librbd.sh
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_cls_tests.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_cls_tests.yaml
new file mode 100644
index 000000000..51b35e2e1
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_cls_tests.yaml
@@ -0,0 +1,7 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - cls/test_cls_rbd.sh
+ - cls/test_cls_lock.sh
+ - cls/test_cls_journal.sh
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_lock_and_fence.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_lock_and_fence.yaml
new file mode 100644
index 000000000..d2c80ad65
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_lock_and_fence.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/test_lock_fence.sh
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml
new file mode 100644
index 000000000..fd65589e0
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml
@@ -0,0 +1,16 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - \(SLOW_OPS\)
+ - slow request
+ install:
+ ceph:
+ extra_system_packages:
+ - python3-pytest
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/test_librbd_python.sh -m 'not skip_if_crimson'
+ env:
+ RBD_FEATURES: "61"
diff --git a/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests_old_format.yaml b/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests_old_format.yaml
new file mode 100644
index 000000000..95140de6d
--- /dev/null
+++ b/qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests_old_format.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - \(SLOW_OPS\)
+ - slow request
+ install:
+ ceph:
+ extra_system_packages:
+ - python3-pytest
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/test_librbd_python.sh -m 'not skip_if_crimson'
diff --git a/qa/suites/crimson-rados/singleton/% b/qa/suites/crimson-rados/singleton/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/%
diff --git a/qa/suites/crimson-rados/singleton/.qa b/qa/suites/crimson-rados/singleton/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/crimson-rados/singleton/all/.qa b/qa/suites/crimson-rados/singleton/all/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/all/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/crimson-rados/singleton/all/osd-backfill.yaml b/qa/suites/crimson-rados/singleton/all/osd-backfill.yaml
new file mode 100644
index 000000000..f475d5dc3
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/all/osd-backfill.yaml
@@ -0,0 +1,29 @@
+roles:
+- - mon.a
+ - mon.b
+ - mon.c
+ - mgr.x
+ - osd.0
+ - osd.1
+ - osd.2
+openstack:
+ - volumes: # attached to each instance
+ count: 3
+ size: 10 # GB
+tasks:
+- install:
+ flavor: crimson
+- ceph:
+ pre-mgr-commands:
+ - sudo ceph config set mgr mgr_pool false --force
+ log-ignorelist:
+ - but it is still running
+ - overall HEALTH_
+ - \(OSDMAP_FLAGS\)
+ - \(OSD_
+ - \(PG_
+ - \(OBJECT_
+ conf:
+ osd:
+ osd min pg log entries: 5
+- osd_backfill:
diff --git a/qa/suites/crimson-rados/singleton/crimson-supported-all-distro b/qa/suites/crimson-rados/singleton/crimson-supported-all-distro
new file mode 120000
index 000000000..a5b729b9e
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/crimson-supported-all-distro
@@ -0,0 +1 @@
+.qa/distros/crimson-supported-all-distro/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/singleton/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/singleton/crimson_qa_overrides.yaml
new file mode 120000
index 000000000..2bf67af1b
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/crimson_qa_overrides.yaml
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/singleton/objectstore b/qa/suites/crimson-rados/singleton/objectstore
new file mode 120000
index 000000000..dbccf5ad9
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/objectstore
@@ -0,0 +1 @@
+../thrash/objectstore \ No newline at end of file
diff --git a/qa/suites/crimson-rados/singleton/rados.yaml b/qa/suites/crimson-rados/singleton/rados.yaml
new file mode 120000
index 000000000..e95c99ef2
--- /dev/null
+++ b/qa/suites/crimson-rados/singleton/rados.yaml
@@ -0,0 +1 @@
+./.qa/suites/rados/singleton/rados.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/% b/qa/suites/crimson-rados/thrash/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/%
diff --git a/qa/suites/crimson-rados/thrash/.qa b/qa/suites/crimson-rados/thrash/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/.qa b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/2-size-2-min-size.yaml.disabled b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/2-size-2-min-size.yaml.disabled
new file mode 120000
index 000000000..5393a7554
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/2-size-2-min-size.yaml.disabled
@@ -0,0 +1 @@
+.qa/overrides/2-size-2-min-size.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/3-size-2-min-size.yaml b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/3-size-2-min-size.yaml
new file mode 120000
index 000000000..5ff70eadf
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/0-size-min-size-overrides/3-size-2-min-size.yaml
@@ -0,0 +1 @@
+.qa/overrides/3-size-2-min-size.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/1-pg-log-overrides/.qa b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/1-pg-log-overrides/normal_pg_log.yaml b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/normal_pg_log.yaml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/normal_pg_log.yaml
diff --git a/qa/suites/crimson-rados/thrash/1-pg-log-overrides/short_pg_log.yaml.disabled b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/short_pg_log.yaml.disabled
new file mode 120000
index 000000000..abd86d7d9
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/1-pg-log-overrides/short_pg_log.yaml.disabled
@@ -0,0 +1 @@
+.qa/overrides/short_pg_log.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/$ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/$
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/$
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/.qa b/qa/suites/crimson-rados/thrash/2-recovery-overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/default.yaml b/qa/suites/crimson-rados/thrash/2-recovery-overrides/default.yaml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/default.yaml
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-active-recovery.yaml.disabled b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-active-recovery.yaml.disabled
new file mode 120000
index 000000000..47afd7020
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-active-recovery.yaml.disabled
@@ -0,0 +1 @@
+.qa/overrides/more-active-recovery.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-partial-recovery.yaml.disabled b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-partial-recovery.yaml.disabled
new file mode 100644
index 000000000..0bbc72db7
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-partial-recovery.yaml.disabled
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_async_recovery_min_cost: 1
+ osd_object_clean_region_max_num_intervals: 1000
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-recovery.yaml.disabled b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-recovery.yaml.disabled
new file mode 100644
index 000000000..4aed086bc
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-async-recovery.yaml.disabled
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_async_recovery_min_cost: 1
diff --git a/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-partial-recovery.yaml.disabled b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-partial-recovery.yaml.disabled
new file mode 100644
index 000000000..88f15f2f6
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/2-recovery-overrides/more-partial-recovery.yaml.disabled
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_object_clean_region_max_num_intervals: 1000
diff --git a/qa/suites/crimson-rados/thrash/centos_8.stream.yaml b/qa/suites/crimson-rados/thrash/centos_8.stream.yaml
new file mode 120000
index 000000000..5dceec7e2
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/centos_8.stream.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_8.stream.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/clusters/+ b/qa/suites/crimson-rados/thrash/clusters/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/clusters/+
diff --git a/qa/suites/crimson-rados/thrash/clusters/.qa b/qa/suites/crimson-rados/thrash/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/clusters/fixed-2.yaml b/qa/suites/crimson-rados/thrash/clusters/fixed-2.yaml
new file mode 100644
index 000000000..9774de688
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/clusters/fixed-2.yaml
@@ -0,0 +1,15 @@
+roles:
+- [mon.a, osd.0, osd.1, client.0, node-exporter.a]
+- [mgr.x, osd.2, osd.3, client.1, prometheus.a, node-exporter.b]
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd shutdown pgref assert: true
+ global:
+ ms cluster mode: crc
+ ms service mode: crc
+ ms client mode: crc
+ ms mon service mode: crc
+ ms mon cluster mode: crc
+ ms mon client mode: crc
diff --git a/qa/suites/crimson-rados/thrash/clusters/openstack.yaml.disabled b/qa/suites/crimson-rados/thrash/clusters/openstack.yaml.disabled
new file mode 100644
index 000000000..e559d9126
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/clusters/openstack.yaml.disabled
@@ -0,0 +1,4 @@
+openstack:
+ - volumes: # attached to each instance
+ count: 4
+ size: 10 # GB
diff --git a/qa/suites/crimson-rados/thrash/crimson-supported-all-distro b/qa/suites/crimson-rados/thrash/crimson-supported-all-distro
new file mode 120000
index 000000000..a5b729b9e
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/crimson-supported-all-distro
@@ -0,0 +1 @@
+.qa/distros/crimson-supported-all-distro/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/thrash/crimson_qa_overrides.yaml
new file mode 120000
index 000000000..2bf67af1b
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/crimson_qa_overrides.yaml
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/deploy/.qa b/qa/suites/crimson-rados/thrash/deploy/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/deploy/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/deploy/ceph.yaml b/qa/suites/crimson-rados/thrash/deploy/ceph.yaml
new file mode 100644
index 000000000..ecad09cfe
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/deploy/ceph.yaml
@@ -0,0 +1,11 @@
+overrides:
+ install:
+ ceph:
+ flavor: crimson
+tasks:
+- install:
+- ceph:
+ conf:
+ osd:
+ debug monc: 20
+ flavor: crimson
diff --git a/qa/suites/crimson-rados/thrash/deploy/cephadm.yaml.disabled b/qa/suites/crimson-rados/thrash/deploy/cephadm.yaml.disabled
new file mode 100644
index 000000000..0c2062240
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/deploy/cephadm.yaml.disabled
@@ -0,0 +1,16 @@
+# no need to verify os + flavor + sha1
+verify_ceph_hash: false
+tasks:
+- cephadm:
+ conf:
+ mgr:
+ debug ms: 1
+ debug mgr: 20
+ debug osd: 10
+- cephadm.shell:
+ mon.a:
+ - ceph orch status
+ - ceph orch ps
+ - ceph orch ls
+ - ceph orch host ls
+ - ceph orch device ls
diff --git a/qa/suites/crimson-rados/thrash/objectstore/.qa b/qa/suites/crimson-rados/thrash/objectstore/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/objectstore/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/objectstore/bluestore.yaml b/qa/suites/crimson-rados/thrash/objectstore/bluestore.yaml
new file mode 100644
index 000000000..99c532f11
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/objectstore/bluestore.yaml
@@ -0,0 +1,23 @@
+overrides:
+ ceph:
+ fs: xfs
+ conf:
+ osd:
+ osd objectstore: bluestore
+ bluestore block size: 96636764160
+ debug bluestore: 20
+ debug bluefs: 20
+ debug rocksdb: 10
+ bluestore compression mode: aggressive
+ bluestore fsck on mount: true
+ bluestore compression algorithm: snappy
+ # lower the full ratios since we can fill up a 100gb osd so quickly
+ mon osd full ratio: .9
+ mon osd backfillfull_ratio: .85
+ mon osd nearfull ratio: .8
+ osd failsafe full ratio: .95
+ bluestore rocksdb cf: false
+ log to stderr: true
+ err to stderr: true
+ log flush on exit: true
+ log to file: false
diff --git a/qa/suites/crimson-rados/thrash/thrashers/.qa b/qa/suites/crimson-rados/thrash/thrashers/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/thrashers/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/thrashers/default.yaml b/qa/suites/crimson-rados/thrash/thrashers/default.yaml
new file mode 100644
index 000000000..5ffbcbd7f
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/thrashers/default.yaml
@@ -0,0 +1,35 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ log-ignorelist:
+ - but it is still running
+ - objects unfound and apparently lost
+ conf:
+ osd:
+ osd debug reject backfill probability: .3
+ osd scrub min interval: 60
+ osd scrub max interval: 120
+ osd max backfills: 3
+ osd snap trim sleep: 2
+ osd delete sleep: 1
+ mon:
+ mon min osdmap epochs: 50
+ paxos service trim min: 10
+ # prune full osdmaps regularly
+ mon osdmap full prune min: 15
+ mon osdmap full prune interval: 2
+ mon osdmap full prune txsize: 2
+tasks:
+- thrashosds:
+ timeout: 2400
+ dump_ops_enable: false
+ sighup_delay: 0
+ min_in: 3
+ noscrub_toggle_delay: 0
+ chance_down: 0
+ chance_thrash_pg_upmap: 0
+ reweight_osd: 0
+ thrash_primary_affinity: false
+ ceph_objectstore_tool: false
+ chance_inject_pause_short: 0
+ chance_thrash_cluster_full: 0
diff --git a/qa/suites/crimson-rados/thrash/thrashosds-health.yaml b/qa/suites/crimson-rados/thrash/thrashosds-health.yaml
new file mode 120000
index 000000000..9124eb1aa
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/thrashosds-health.yaml
@@ -0,0 +1 @@
+.qa/tasks/thrashosds-health.yaml \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/workloads/.qa b/qa/suites/crimson-rados/thrash/workloads/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/crimson-rados/thrash/workloads/admin_socket_objecter_requests.yaml b/qa/suites/crimson-rados/thrash/workloads/admin_socket_objecter_requests.yaml
new file mode 100644
index 000000000..8c9764ade
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/admin_socket_objecter_requests.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ conf:
+ client.0:
+ admin socket: /var/run/ceph/ceph-$name.asok
+tasks:
+- radosbench:
+ clients: [client.0]
+ time: 150
+- admin_socket:
+ client.0:
+ objecter_requests:
+ test: "http://git.ceph.com/?p={repo};a=blob_plain;f=src/test/admin_socket/objecter_requests;hb={branch}"
diff --git a/qa/suites/crimson-rados/thrash/workloads/pool-snaps-few-objects.yaml b/qa/suites/crimson-rados/thrash/workloads/pool-snaps-few-objects.yaml
new file mode 100644
index 000000000..fff5cda6e
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/pool-snaps-few-objects.yaml
@@ -0,0 +1,20 @@
+override:
+ conf:
+ osd:
+ osd deep scrub update digest min age: 0
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ pool_snaps: true
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
+
diff --git a/qa/suites/crimson-rados/thrash/workloads/radosbench-high-concurrency.yaml b/qa/suites/crimson-rados/thrash/workloads/radosbench-high-concurrency.yaml
new file mode 100644
index 000000000..902c4b56a
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/radosbench-high-concurrency.yaml
@@ -0,0 +1,49 @@
+overrides:
+ ceph:
+ conf:
+ client.0:
+ debug ms: 1
+ debug objecter: 20
+ debug rados: 20
+tasks:
+- full_sequential:
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ concurrency: 128
+ size: 8192
+ time: 90
diff --git a/qa/suites/crimson-rados/thrash/workloads/radosbench.yaml b/qa/suites/crimson-rados/thrash/workloads/radosbench.yaml
new file mode 100644
index 000000000..071f55e39
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/radosbench.yaml
@@ -0,0 +1,24 @@
+overrides:
+ ceph:
+ conf:
+ client.0:
+ debug ms: 1
+ debug objecter: 20
+ debug rados: 20
+tasks:
+- full_sequential:
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
diff --git a/qa/suites/crimson-rados/thrash/workloads/small-objects-balanced.yaml b/qa/suites/crimson-rados/thrash/workloads/small-objects-balanced.yaml
new file mode 100644
index 000000000..0c50dc136
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/small-objects-balanced.yaml
@@ -0,0 +1,23 @@
+overrides:
+ ceph:
+ crush_tunables: jewel
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 400000
+ max_seconds: 600
+ max_in_flight: 64
+ objects: 1024
+ size: 16384
+ balance_reads: true
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
+ setattr: 25
+ rmattr: 25
diff --git a/qa/suites/crimson-rados/thrash/workloads/small-objects-localized.yaml b/qa/suites/crimson-rados/thrash/workloads/small-objects-localized.yaml
new file mode 100644
index 000000000..df5c114f1
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/small-objects-localized.yaml
@@ -0,0 +1,23 @@
+overrides:
+ ceph:
+ crush_tunables: jewel
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 400000
+ max_seconds: 600
+ max_in_flight: 64
+ objects: 1024
+ size: 16384
+ localize_reads: true
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
+ setattr: 25
+ rmattr: 25
diff --git a/qa/suites/crimson-rados/thrash/workloads/small-objects.yaml b/qa/suites/crimson-rados/thrash/workloads/small-objects.yaml
new file mode 100644
index 000000000..32928c303
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/small-objects.yaml
@@ -0,0 +1,22 @@
+overrides:
+ ceph:
+ crush_tunables: jewel
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 400000
+ max_seconds: 600
+ max_in_flight: 64
+ objects: 1024
+ size: 16384
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
+ setattr: 25
+ rmattr: 25
diff --git a/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-balanced.yaml b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-balanced.yaml
new file mode 100644
index 000000000..1161c3cc2
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-balanced.yaml
@@ -0,0 +1,15 @@
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ balance_reads: true
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
diff --git a/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-localized.yaml b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-localized.yaml
new file mode 100644
index 000000000..80af0def0
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects-localized.yaml
@@ -0,0 +1,15 @@
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ localize_reads: true
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
diff --git a/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects.yaml b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects.yaml
new file mode 100644
index 000000000..0694ffcd0
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/snaps-few-objects.yaml
@@ -0,0 +1,14 @@
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 0
+ # TODO: CEPH_OSD_OP_COPY_FROM
+ copy_from: 0
diff --git a/qa/suites/crimson-rados/thrash/workloads/write_fadvise_dontneed.yaml b/qa/suites/crimson-rados/thrash/workloads/write_fadvise_dontneed.yaml
new file mode 100644
index 000000000..606dcae69
--- /dev/null
+++ b/qa/suites/crimson-rados/thrash/workloads/write_fadvise_dontneed.yaml
@@ -0,0 +1,8 @@
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ write_fadvise_dontneed: true
+ op_weights:
+ write: 100