summaryrefslogtreecommitdiffstats
path: root/qa/suites/upgrade/octopus-x/stress-split
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/%0
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/.qa1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/0-cluster1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1-octopus-install1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml6
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/2-partial-upgrade1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/default.yaml26
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3.1-objectstore1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/%0
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rados-ec-workload.yaml22
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rbd-ec-workload.yaml31
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/5-finish-upgrade.yaml1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/6-pacific.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/7-final-workload.yaml36
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/mon_election1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/thrashosds-health.yaml1
l---------qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/ubuntu_18.04.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/%0
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/+0
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/openstack.yaml6
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/start.yaml40
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/octopus.yaml35
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml6
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/firsthalf.yaml14
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/default.yaml26
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/+0
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/radosbench.yaml52
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-cls.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-import-export.yaml12
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd_api.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/readwrite.yaml16
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rgw_ragweed_prepare.yaml12
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/snaps-few-objects.yaml18
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/5-finish-upgrade.yaml15
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/6-pacific.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/+0
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/rbd-python.yaml14
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/snaps-many-objects.yaml16
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/mon_election1
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/.qa1
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/bluestore-hybrid.yaml1
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/filestore-xfs.yaml1
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/thrashosds-health.yaml1
l---------qa/suites/upgrade/octopus-x/stress-split-no-cephadm/ubuntu_18.04.yaml1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/%0
l---------qa/suites/upgrade/octopus-x/stress-split/.qa1
l---------qa/suites/upgrade/octopus-x/stress-split/0-distro1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/0-roles.yaml31
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/1-start.yaml122
l---------qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/.qa1
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/radosbench.yaml19
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-cls.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-import-export.yaml12
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd_api.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/readwrite.yaml16
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml18
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/+0
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/radosbench.yaml25
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-cls.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-import-export.yaml12
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd_api.yaml10
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/readwrite.yaml16
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/snaps-few-objects.yaml18
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/radosbench.yaml16
-rw-r--r--qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/rbd-import-export.yaml12
l---------qa/suites/upgrade/octopus-x/stress-split/mon_election1
79 files changed, 814 insertions, 0 deletions
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/% b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/%
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/.qa b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/0-cluster b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/0-cluster
new file mode 120000
index 000000000..c7da783ed
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/0-cluster
@@ -0,0 +1 @@
+../stress-split-no-cephadm/0-cluster \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1-octopus-install b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1-octopus-install
new file mode 120000
index 000000000..078cb9006
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1-octopus-install
@@ -0,0 +1 @@
+../stress-split-no-cephadm/1-ceph-install \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/.qa b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml
@@ -0,0 +1 @@
+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml
new file mode 100644
index 000000000..e31e37ba6
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd min pg log entries: 1
+ osd max pg log entries: 2
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/2-partial-upgrade b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/2-partial-upgrade
new file mode 120000
index 000000000..920b14402
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/2-partial-upgrade
@@ -0,0 +1 @@
+../stress-split-no-cephadm/2-partial-upgrade \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/.qa b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/default.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/default.yaml
new file mode 100644
index 000000000..82ab4ced3
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3-thrash/default.yaml
@@ -0,0 +1,26 @@
+meta:
+- desc: |
+ randomly kill and revive osd
+ small chance to increase the number of pgs
+overrides:
+ ceph:
+ log-ignorelist:
+ - but it is still running
+ - wrongly marked me down
+ - objects unfound and apparently lost
+ - log bound mismatch
+tasks:
+- parallel:
+ - stress-tasks
+stress-tasks:
+- thrashosds:
+ timeout: 1200
+ chance_pgnum_grow: 1
+ chance_pgpnum_fix: 1
+ chance_thrash_cluster_full: 0
+ chance_thrash_pg_upmap: 0
+ chance_thrash_pg_upmap_items: 0
+ disable_objectstore_tool_tests: true
+ chance_force_recovery: 0
+ aggressive_pg_num_changes: false
+- print: "**** done thrashosds default.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3.1-objectstore b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3.1-objectstore
new file mode 120000
index 000000000..b7cd805a0
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/3.1-objectstore
@@ -0,0 +1 @@
+../stress-split-no-cephadm/objectstore \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/% b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/%
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/.qa b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rados-ec-workload.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rados-ec-workload.yaml
new file mode 100644
index 000000000..c89551e6b
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rados-ec-workload.yaml
@@ -0,0 +1,22 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on an erasure coded pool
+stress-tasks:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ ec_pool: true
+ write_append_excl: false
+ op_weights:
+ read: 100
+ write: 0
+ append: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
+ copy_from: 50
+ setattr: 25
+ rmattr: 25
+ - print: "**** done rados ec task"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rbd-ec-workload.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rbd-ec-workload.yaml
new file mode 100644
index 000000000..d0e661dca
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/4-ec-workload/rbd-ec-workload.yaml
@@ -0,0 +1,31 @@
+meta:
+- desc: |
+ run rbd tests on EC pool
+ overrides => force bluestore since it's required for ec-overwrite
+ use an EC pool for rbd and run xfstests on top of it to verify correctness
+tasks:
+- exec:
+ client.0:
+ - sudo ceph osd erasure-code-profile set teuthologyprofile crush-failure-domain=osd m=1 k=2
+ - sudo ceph osd pool create datapool 4 4 erasure teuthologyprofile
+ - sudo ceph osd pool set datapool allow_ec_overwrites true
+ - rbd pool init datapool
+- qemu:
+ all:
+ clone: true
+ type: block
+ disks: 3
+ test: qa/run_xfstests_qemu.sh
+- print: "**** done rbd/qemu ec task"
+exclude_arch: armv7l
+overrides:
+ thrashosds:
+ bdev_inject_crash: 2
+ bdev_inject_crash_probability: .5
+ ceph:
+ fs: xfs
+ conf:
+ client:
+ rbd default data pool: datapool
+ osd: # force bluestore since it's required for ec overwrites
+ osd objectstore: bluestore
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/5-finish-upgrade.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/5-finish-upgrade.yaml
new file mode 120000
index 000000000..9723ca018
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/5-finish-upgrade.yaml
@@ -0,0 +1 @@
+../stress-split-no-cephadm/5-finish-upgrade.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/6-pacific.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/6-pacific.yaml
new file mode 120000
index 000000000..1467fc88e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/6-pacific.yaml
@@ -0,0 +1 @@
+.qa/releases/pacific.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/7-final-workload.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/7-final-workload.yaml
new file mode 100644
index 000000000..31d5ac961
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/7-final-workload.yaml
@@ -0,0 +1,36 @@
+#
+# k=3 implies a stripe_width of 1376*3 = 4128 which is different from
+# the default value of 4096 It is also not a multiple of 1024*1024 and
+# creates situations where rounding rules during recovery becomes
+# necessary.
+#
+meta:
+- desc: |
+ randomized correctness test for rados operations on an erasure coded pool
+ using the jerasure plugin with k=3 and m=1
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ ec_pool: true
+ write_append_excl: false
+ erasure_code_profile:
+ name: jerasure31profile
+ plugin: jerasure
+ k: 3
+ m: 1
+ technique: reed_sol_van
+ crush-failure-domain: osd
+ op_weights:
+ read: 100
+ write: 0
+ append: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
+ copy_from: 50
+ setattr: 25
+ rmattr: 25
+- print: "**** done rados ec 7-final-workload.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/mon_election b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/mon_election
new file mode 120000
index 000000000..3f331e621
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/mon_election
@@ -0,0 +1 @@
+.qa/mon_election \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/thrashosds-health.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/thrashosds-health.yaml
new file mode 120000
index 000000000..9124eb1aa
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/thrashosds-health.yaml
@@ -0,0 +1 @@
+.qa/tasks/thrashosds-health.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/ubuntu_18.04.yaml b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/ubuntu_18.04.yaml
new file mode 120000
index 000000000..cfb85f10e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-erasure-code-no-cephadm/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/upgrade/octopus-x/stress-split-no-cephadm/% b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/%
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/+ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/openstack.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/openstack.yaml
new file mode 100644
index 000000000..5caffc353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/openstack.yaml
@@ -0,0 +1,6 @@
+openstack:
+ - machine:
+ disk: 100 # GB
+ - volumes: # attached to each instance
+ count: 4
+ size: 30 # GB
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/start.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/start.yaml
new file mode 100644
index 000000000..5d61bb7d9
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/0-cluster/start.yaml
@@ -0,0 +1,40 @@
+meta:
+- desc: |
+ Run ceph on two nodes,
+ with a separate client-only node.
+ Use xfs beneath the osds.
+overrides:
+ ceph:
+ mon_bind_msgr2: false
+ mon_bind_addrvec: false
+ fs: xfs
+ log-ignorelist:
+ - overall HEALTH_
+ - \(MON_DOWN\)
+ - \(MGR_DOWN\)
+ - slow request
+ - \(MON_MSGR2_NOT_ENABLED\)
+ conf:
+ global:
+ enable experimental unrecoverable data corrupting features: "*"
+ mon warn on msgr2 not enabled: false
+ mon:
+ mon warn on osd down out interval zero: false
+roles:
+- - mon.a
+ - mgr.x
+ - osd.0
+ - osd.1
+ - osd.2
+ - osd.3
+- - mon.b
+ - osd.4
+ - osd.5
+ - osd.6
+ - osd.7
+- - mon.c
+- - osd.8
+ - osd.9
+ - osd.10
+ - osd.11
+- - client.0
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/octopus.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/octopus.yaml
new file mode 100644
index 000000000..3d7a52a49
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1-ceph-install/octopus.yaml
@@ -0,0 +1,35 @@
+meta:
+- desc: install ceph/octopus latest
+tasks:
+- install:
+ exclude_packages:
+ - ceph-mgr-cephadm
+ - cephadm
+ - libcephfs-dev
+ branch: octopus
+- print: "**** done install octopus"
+- ceph:
+ conf:
+ global:
+ bluestore_warn_on_legacy_statfs: false
+ bluestore warn on no per pool omap: false
+ mon pg warn min per osd: 0
+ mon:
+ mon_warn_on_insecure_global_id_reclaim: false
+ mon_warn_on_insecure_global_id_reclaim_allowed: false
+ log-ignorelist:
+ - Not found or unloadable
+ - evicting unresponsive client
+- exec:
+ osd.0:
+ - ceph osd require-osd-release octopus
+ - ceph osd set-require-min-compat-client octopus
+- print: "**** done ceph"
+- rgw:
+ - client.0
+- print: "**** done => started rgw client.0"
+overrides:
+ ceph:
+ conf:
+ mon:
+ mon warn on osd down out interval zero: false
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/normal_pg_log.yaml
@@ -0,0 +1 @@
+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml
new file mode 100644
index 000000000..e31e37ba6
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/1.1-pg-log-overrides/short_pg_log.yaml
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ osd min pg log entries: 1
+ osd max pg log entries: 2
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/firsthalf.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/firsthalf.yaml
new file mode 100644
index 000000000..58ff5ac66
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/2-partial-upgrade/firsthalf.yaml
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+ install upgrade ceph/-x on 2/3 of cluster
+ restart : mons, osd.0-7
+tasks:
+- install.upgrade:
+ mon.a:
+ mon.b:
+ mon.c:
+- print: "**** done install.upgrade of first 3 nodes"
+- ceph.restart:
+ daemons: [mon.a,mon.b,mgr.x,osd.0,osd.1,osd.2,osd.3,osd.4,osd.5,osd.6,osd.7]
+ mon-health-to-clog: false
+- print: "**** done ceph.restart of all mons and 2/3 of osds"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/default.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/default.yaml
new file mode 100644
index 000000000..2be9c1f29
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/3-thrash/default.yaml
@@ -0,0 +1,26 @@
+meta:
+- desc: |
+ randomly kill and revive osd
+ small chance to increase the number of pgs
+overrides:
+ ceph:
+ log-ignorelist:
+ - but it is still running
+ - wrongly marked me down
+ - objects unfound and apparently lost
+ - log bound mismatch
+tasks:
+- parallel:
+ - stress-tasks
+stress-tasks:
+- thrashosds:
+ timeout: 1200
+ chance_pgnum_grow: 1
+ chance_pgpnum_fix: 1
+ chance_thrash_cluster_full: 0
+ chance_thrash_pg_upmap: 0
+ chance_thrash_pg_upmap_items: 0
+ disable_objectstore_tool_tests: true
+ chance_force_recovery: 0
+ aggressive_pg_num_changes: false
+- print: "**** done thrashosds 3-thrash"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/+ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/radosbench.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/radosbench.yaml
new file mode 100644
index 000000000..5832dfa51
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/radosbench.yaml
@@ -0,0 +1,52 @@
+meta:
+- desc: |
+ run randomized correctness test for rados operations
+ generate write load with rados bench
+stress-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
+ - 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
+ - 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
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-cls.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-cls.yaml
new file mode 100644
index 000000000..07ab6e10e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-cls.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ run basic cls tests for rbd
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-import-export.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-import-export.yaml
new file mode 100644
index 000000000..a3968fef3
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd-import-export.yaml
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+ run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/import_export.sh
+ env:
+ RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd_api.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd_api.yaml
new file mode 100644
index 000000000..7212d3fc6
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rbd_api.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ librbd C and C++ api tests
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/readwrite.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/readwrite.yaml
new file mode 100644
index 000000000..41e34d6d7
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/readwrite.yaml
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool,
+ using only reads, writes, and deletes
+stress-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ write_append_excl: false
+ op_weights:
+ read: 45
+ write: 45
+ delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rgw_ragweed_prepare.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rgw_ragweed_prepare.yaml
new file mode 100644
index 000000000..bcf5ebe5d
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/rgw_ragweed_prepare.yaml
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+ rgw ragweed prepare before upgrade
+stress-tasks:
+ - full_sequential:
+ - sequential:
+ - ragweed:
+ client.0:
+ default-branch: ceph-octopus
+ rgw_server: client.0
+ stages: prepare
+ - print: "**** done rgw ragweed prepare 4-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/snaps-few-objects.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/snaps-few-objects.yaml
new file mode 100644
index 000000000..f56d0de0f
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/4-workload/snaps-few-objects.yaml
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool with snapshot operations
+stress-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ write_append_excl: false
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/5-finish-upgrade.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/5-finish-upgrade.yaml
new file mode 100644
index 000000000..e94de51b2
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/5-finish-upgrade.yaml
@@ -0,0 +1,15 @@
+tasks:
+- install.upgrade:
+ osd.8:
+ client.0:
+ extra_packages:
+ - python3-rados
+ - python3-rgw
+ - python3-rbd
+ - python3-cephfs
+- ceph.restart:
+ daemons: [mon.c, osd.8, osd.9, osd.10, osd.11, rgw.*]
+ wait-for-healthy: false
+ wait-for-osds-up: true
+- print: "**** done restarted/upgraded => mon.c, osd.8, osd.9, osd.10, osd.11, rgw.*"
+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/6-pacific.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/6-pacific.yaml
new file mode 120000
index 000000000..1467fc88e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/6-pacific.yaml
@@ -0,0 +1 @@
+.qa/releases/pacific.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/+ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/+
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/rbd-python.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/rbd-python.yaml
new file mode 100644
index 000000000..d04fab7df
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/rbd-python.yaml
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+ librbd python api tests
+overrides:
+ ceph:
+ conf:
+ client:
+ rbd default clone format: 1
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rbd/test_librbd_python.sh
+- print: "**** done rbd/test_librbd_python.sh"
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/snaps-many-objects.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/snaps-many-objects.yaml
new file mode 100644
index 000000000..805bf97c3
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/8-final-workload/snaps-many-objects.yaml
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool with snapshot operations
+tasks:
+- rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ write_append_excl: false
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/mon_election b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/mon_election
new file mode 120000
index 000000000..3f331e621
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/mon_election
@@ -0,0 +1 @@
+.qa/mon_election \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/.qa b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/bluestore-hybrid.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/bluestore-hybrid.yaml
new file mode 120000
index 000000000..39c0a9bc0
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/bluestore-hybrid.yaml
@@ -0,0 +1 @@
+.qa/objectstore_debug/bluestore-hybrid.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/filestore-xfs.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/filestore-xfs.yaml
new file mode 120000
index 000000000..d83049f3c
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/objectstore/filestore-xfs.yaml
@@ -0,0 +1 @@
+.qa/objectstore_debug/filestore-xfs.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/thrashosds-health.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/thrashosds-health.yaml
new file mode 120000
index 000000000..9124eb1aa
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/thrashosds-health.yaml
@@ -0,0 +1 @@
+.qa/tasks/thrashosds-health.yaml \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/ubuntu_18.04.yaml b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/ubuntu_18.04.yaml
new file mode 120000
index 000000000..cfb85f10e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split-no-cephadm/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/upgrade/octopus-x/stress-split/% b/qa/suites/upgrade/octopus-x/stress-split/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/%
diff --git a/qa/suites/upgrade/octopus-x/stress-split/.qa b/qa/suites/upgrade/octopus-x/stress-split/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split/0-distro b/qa/suites/upgrade/octopus-x/stress-split/0-distro
new file mode 120000
index 000000000..f84388135
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/0-distro
@@ -0,0 +1 @@
+../../../rados/cephadm/smoke/distro \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split/0-roles.yaml b/qa/suites/upgrade/octopus-x/stress-split/0-roles.yaml
new file mode 100644
index 000000000..ad3ee43d3
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/0-roles.yaml
@@ -0,0 +1,31 @@
+roles:
+- - mon.a
+ - mon.c
+ - mgr.y
+ - osd.0
+ - osd.1
+ - osd.2
+ - osd.3
+ - client.0
+ - node-exporter.a
+ - alertmanager.a
+- - mon.b
+ - mgr.x
+ - osd.4
+ - osd.5
+ - osd.6
+ - osd.7
+ - client.1
+ - prometheus.a
+ - grafana.a
+ - node-exporter.b
+openstack:
+- volumes: # attached to each instance
+ count: 4
+ size: 10 # GB
+overrides:
+ ceph:
+ create_rbd_pool: true
+ conf:
+ osd:
+ osd shutdown pgref assert: true
diff --git a/qa/suites/upgrade/octopus-x/stress-split/1-start.yaml b/qa/suites/upgrade/octopus-x/stress-split/1-start.yaml
new file mode 100644
index 000000000..74599e22d
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/1-start.yaml
@@ -0,0 +1,122 @@
+tasks:
+- install:
+ branch: octopus
+
+- cephadm:
+ image: quay.ceph.io/ceph-ci/ceph:octopus
+ cephadm_branch: octopus
+ cephadm_git_url: https://github.com/ceph/ceph
+ conf:
+ osd:
+ #set config option for which cls modules are allowed to be loaded / used
+ osd_class_load_list: "*"
+ osd_class_default_list: "*"
+ # deploy additional mons the "old" (octopus) way
+ add_mons_via_daemon_add: true
+ avoid_pacific_features: true
+
+- cephadm.shell:
+ mon.a:
+ - ceph fs volume create foo
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
+
+- ceph.healthy:
+
+- print: "**** upgrading first half of cluster, with stress ****"
+- parallel:
+ - first-half-tasks
+ - first-half-sequence
+- print: "**** done upgrading first half of cluster ****"
+
+- ceph.healthy:
+
+- print: "**** applying stress + thrashing to mixed-version cluster ****"
+
+- parallel:
+ - stress-tasks
+
+- ceph.healthy:
+
+- print: "**** finishing upgrade ****"
+- parallel:
+ - second-half-tasks
+ - second-half-sequence
+
+- ceph.healthy:
+
+
+#################
+
+first-half-sequence:
+- cephadm.shell:
+ env: [sha1]
+ mon.a:
+ - ceph config set mgr mgr/cephadm/daemon_cache_timeout 60
+
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+ - ceph orch ps
+
+ - echo wait for minority of mons to upgrade
+ - while ! ceph mon versions | grep $sha1 ; do sleep 2 ; done
+ - ceph orch ps
+ - ceph orch upgrade pause
+ - sleep 60
+ - ceph orch upgrade resume
+
+ - echo wait for majority of mons to upgrade
+ - "while ! ceph mon versions | grep $sha1 | egrep ': [23]' ; do sleep 2 ; done"
+ - ceph orch ps
+ - ceph orch upgrade pause
+ - sleep 60
+ - ceph orch upgrade resume
+
+ - echo wait for all mons to upgrade
+ - "while ! ceph mon versions | grep $sha1 | grep ': 3' ; do sleep 2 ; done"
+ - ceph orch ps
+ - ceph orch upgrade pause
+ - sleep 60
+ - ceph orch upgrade resume
+
+ - echo wait for half of osds to upgrade
+ - "while ! ceph osd versions | grep $sha1 | egrep ': [45678]'; do sleep 2 ; done"
+ - ceph orch upgrade pause
+ - ceph orch ps
+
+ - ceph orch ps
+ - ceph versions
+
+
+#################
+
+stress-tasks:
+- thrashosds:
+ timeout: 1200
+ chance_pgnum_grow: 1
+ chance_pgpnum_fix: 1
+ chance_thrash_cluster_full: 0
+ chance_thrash_pg_upmap: 0
+ chance_thrash_pg_upmap_items: 0
+ disable_objectstore_tool_tests: true
+ chance_force_recovery: 0
+ aggressive_pg_num_changes: false
+
+
+#################
+
+second-half-sequence:
+ sequential:
+ - cephadm.shell:
+ env: [sha1]
+ mon.a:
+ - ceph orch upgrade resume
+ - sleep 60
+
+ - echo wait for upgrade to complete
+ - while ceph orch upgrade status | jq '.in_progress' | grep true ; do ceph orch ps ; ceph versions ; sleep 30 ; done
+
+ - echo upgrade complete
+ - ceph orch ps
+ - ceph versions
+ - ceph versions | jq -e '.overall | length == 1'
+ - ceph versions | jq -e '.overall | keys' | grep $sha1
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/radosbench.yaml
new file mode 100644
index 000000000..3816ca38c
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/radosbench.yaml
@@ -0,0 +1,19 @@
+meta:
+- desc: |
+ run randomized correctness test for rados operations
+ generate write load with rados bench
+first-half-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
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-cls.yaml
new file mode 100644
index 000000000..ffe09dc74
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-cls.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ run basic cls tests for rbd
+first-half-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-import-export.yaml
new file mode 100644
index 000000000..992f31bd7
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd-import-export.yaml
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+ run basic import/export cli tests for rbd
+first-half-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/import_export.sh
+ env:
+ RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd_api.yaml
new file mode 100644
index 000000000..e4c1d54e8
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/rbd_api.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ librbd C and C++ api tests
+first-half-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/readwrite.yaml
new file mode 100644
index 000000000..21a9f379a
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/readwrite.yaml
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool,
+ using only reads, writes, and deletes
+first-half-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ write_append_excl: false
+ op_weights:
+ read: 45
+ write: 45
+ delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml
new file mode 100644
index 000000000..6447c2245
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool with snapshot operations
+first-half-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ write_append_excl: false
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/+
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/radosbench.yaml
new file mode 100644
index 000000000..9058bd804
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/radosbench.yaml
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+ run randomized correctness test for rados operations
+ generate write load with rados bench
+stress-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
+ - radosbench:
+ clients: [client.0]
+ time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-cls.yaml
new file mode 100644
index 000000000..07ab6e10e
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-cls.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ run basic cls tests for rbd
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-import-export.yaml
new file mode 100644
index 000000000..a3968fef3
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd-import-export.yaml
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+ run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/import_export.sh
+ env:
+ RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd_api.yaml
new file mode 100644
index 000000000..7212d3fc6
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/rbd_api.yaml
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+ librbd C and C++ api tests
+stress-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/readwrite.yaml
new file mode 100644
index 000000000..41e34d6d7
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/readwrite.yaml
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool,
+ using only reads, writes, and deletes
+stress-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 500
+ write_append_excl: false
+ op_weights:
+ read: 45
+ write: 45
+ delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/snaps-few-objects.yaml
new file mode 100644
index 000000000..f56d0de0f
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/3-stress-tasks/snaps-few-objects.yaml
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+ randomized correctness test for rados operations on a replicated pool with snapshot operations
+stress-tasks:
+- full_sequential:
+ - rados:
+ clients: [client.0]
+ ops: 4000
+ objects: 50
+ write_append_excl: false
+ op_weights:
+ read: 100
+ write: 100
+ delete: 50
+ snap_create: 50
+ snap_remove: 50
+ rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/radosbench.yaml
new file mode 100644
index 000000000..7268cb170
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/radosbench.yaml
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+ run randomized correctness test for rados operations
+ generate write load with rados bench
+second-half-tasks:
+- full_sequential:
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
+ - radosbench:
+ clients: [client.0]
+ time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/rbd-import-export.yaml
new file mode 100644
index 000000000..f223bda46
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/4-second-half-tasks/rbd-import-export.yaml
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+ run basic import/export cli tests for rbd
+second-half-tasks:
+- workunit:
+ branch: octopus
+ clients:
+ client.0:
+ - rbd/import_export.sh
+ env:
+ RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/octopus-x/stress-split/mon_election b/qa/suites/upgrade/octopus-x/stress-split/mon_election
new file mode 120000
index 000000000..3f331e621
--- /dev/null
+++ b/qa/suites/upgrade/octopus-x/stress-split/mon_election
@@ -0,0 +1 @@
+.qa/mon_election \ No newline at end of file