]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Added point-to-point suite
authoryuriw <yuri.weinstein@gmail.com>
Mon, 14 Dec 2015 23:46:26 +0000 (15:46 -0800)
committerYuri Weinstein <yweinste@redhat.com>
Wed, 27 Jan 2016 22:41:17 +0000 (14:41 -0800)
Added parallel suite
Added stree-split suite
Added stress-split-erasure-code suite
Added stress-split-erasure-code-x96-64 suite

Signed-off-by: yuriw <yuri.weinstein@gmail.com>
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit e7732cce73af2fed55a957b5529db93e3ff3ea5a)

67 files changed:
releases/jewel.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/% [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/0-cluster/start.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/1-infernalis-install/infernalis.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/+ [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/ec-rados-default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/rados_api.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/rados_loadgenbig.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_api.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_python.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-all.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/4-jewel.yaml [new symlink]
suites/upgrade/infernalis-x/parallel/5-final-workload/+ [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rados-snaps-few-objects.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rados_loadgenmix.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rados_mon_thrash.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_cls.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_import_export.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/5-final-workload/rgw_swift.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/parallel/distros [new symlink]
suites/upgrade/infernalis-x/point-to-point-x/% [new file with mode: 0644]
suites/upgrade/infernalis-x/point-to-point-x/distros [new symlink]
suites/upgrade/infernalis-x/point-to-point-x/point-to-point.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/% [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-cluster [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-x86_64.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/1-infernalis-install [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/2-partial-upgrade [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/3-thrash/default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/4-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/5-workload/ec-rados-default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/6-next-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/8-next-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code/% [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code/0-cluster [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/1-infernalis-install [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/2-partial-upgrade [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/3-thrash/default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code/4-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/5-workload/ec-rados-default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code/6-next-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/8-next-mon [new symlink]
suites/upgrade/infernalis-x/stress-split-erasure-code/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split-erasure-code/distros [new symlink]
suites/upgrade/infernalis-x/stress-split/% [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/0-cluster/start.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/1-infernalis-install/infernalis.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/2-partial-upgrade/firsthalf.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/3-thrash/default.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/4-mon/mona.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/5-workload/+ [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/5-workload/rbd-cls.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/5-workload/rbd-import-export.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/5-workload/readwrite.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/5-workload/snaps-few-objects.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/6-next-mon/monb.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/7-workload/+ [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/7-workload/radosbench.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/7-workload/rbd_api.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/8-next-mon/monc.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/9-workload/+ [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/9-workload/rbd-python.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/9-workload/rgw-swift.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/9-workload/snaps-many-objects.yaml [new file with mode: 0644]
suites/upgrade/infernalis-x/stress-split/distros [new symlink]

diff --git a/releases/jewel.yaml b/releases/jewel.yaml
new file mode 100644 (file)
index 0000000..f21e7fe
--- /dev/null
@@ -0,0 +1,5 @@
+tasks:
+- exec:
+    osd.0:
+      - ceph osd set sortbitwise
+      - for p in `ceph osd pool ls` ; do ceph osd pool set $p use_gmt_hitset true ; done
diff --git a/suites/upgrade/infernalis-x/parallel/% b/suites/upgrade/infernalis-x/parallel/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/parallel/0-cluster/start.yaml b/suites/upgrade/infernalis-x/parallel/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..03bfebb
--- /dev/null
@@ -0,0 +1,27 @@
+meta:
+- desc: |
+   Run ceph on two nodes,
+   with a separate client 0,1 third node. 
+   Use xfs beneath the osds.
+roles:
+- - mon.a
+  - mds.a
+  - osd.0
+  - osd.1
+- - mon.b
+  - mon.c
+  - osd.2
+  - osd.3
+- - client.0
+  - client.1
+overrides:
+  ceph:
+    log-whitelist:
+    - scrub mismatch
+    - ScrubResult
+    - failed to encode map
+    - wrongly marked
+    conf:
+      mon:
+        mon warn on legacy crush tunables: false
+    fs: xfs
diff --git a/suites/upgrade/infernalis-x/parallel/1-infernalis-install/infernalis.yaml b/suites/upgrade/infernalis-x/parallel/1-infernalis-install/infernalis.yaml
new file mode 100644 (file)
index 0000000..4350645
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   install ceph/infernalis latest
+   run workload and upgrade-sequence in parallel
+   upgrade the client node
+tasks:
+- install:
+    branch: infernalis
+- print: "**** done installing infernalis"
+- ceph:
+- print: "**** done ceph"
+- parallel:
+    - workload
+    - upgrade-sequence
+- print: "**** done parallel"
+- install.upgrade:
+    client.0:
+- print: "**** done install.upgrade on client.0"
diff --git a/suites/upgrade/infernalis-x/parallel/2-workload/+ b/suites/upgrade/infernalis-x/parallel/2-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/parallel/2-workload/ec-rados-default.yaml b/suites/upgrade/infernalis-x/parallel/2-workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..cbe2bad
--- /dev/null
@@ -0,0 +1,24 @@
+meta:
+- desc: |
+   run run randomized correctness test for rados operations
+   on an erasure-coded pool
+tasks:
+- full_sequential:
+  - 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/suites/upgrade/infernalis-x/parallel/2-workload/rados_api.yaml b/suites/upgrade/infernalis-x/parallel/2-workload/rados_api.yaml
new file mode 100644 (file)
index 0000000..d43cc91
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   object class functional tests
+workload:
+  sequential:
+    - workunit:
+        branch: infernalis
+        clients:
+          client.0:
+            - cls
+    - print: "**** done cls 2-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/2-workload/rados_loadgenbig.yaml b/suites/upgrade/infernalis-x/parallel/2-workload/rados_loadgenbig.yaml
new file mode 100644 (file)
index 0000000..45bf1d0
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   generate read/write load with rados objects ranging from 1MB to 25MB
+workload:
+  sequential:
+    - workunit:
+        branch: infernalis
+        clients:
+          client.0:
+            - rados/load-gen-big.sh
+    - print: "**** done rados/load-gen-big.sh 2-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_api.yaml b/suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_api.yaml
new file mode 100644 (file)
index 0000000..caa89cf
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+workload:
+  sequential:
+    - workunit:
+        branch: infernalis
+        clients:
+          client.0:
+            - rbd/test_librbd.sh
+    - print: "**** done rbd/test_librbd.sh 2-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_python.yaml b/suites/upgrade/infernalis-x/parallel/2-workload/test_rbd_python.yaml
new file mode 100644 (file)
index 0000000..147966b
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   librbd python api tests
+workload:
+  sequential:
+    - workunit:
+        branch: infernalis
+        clients:
+          client.0:
+            - rbd/test_librbd_python.sh
+    - print: "**** done rbd/test_librbd_python.sh 2-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-all.yaml b/suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-all.yaml
new file mode 100644 (file)
index 0000000..13e4d98
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   upgrade the ceph cluster
+upgrade-sequence:
+   sequential:
+   - install.upgrade:
+       mon.a:
+       mon.b:
+   - print: "**** done install.upgrade mon.a and mon.b"
+   - ceph.restart: [mon.a, mon.b, mon.c, mds.a, osd.0, osd.1, osd.2, osd.3]
+   - print: "**** done ceph.restart all"
diff --git a/suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml b/suites/upgrade/infernalis-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml
new file mode 100644 (file)
index 0000000..0bbe6ca
--- /dev/null
@@ -0,0 +1,44 @@
+meta:
+- desc: |
+   upgrade the ceph cluster,
+   upgrate in two steps 
+   step one ordering: mon.a, osd.0, osd.1, mds.a
+   step two ordering: mon.b, mon.c, osd.2, osd.3
+   ceph expected to be healthy state after each step
+upgrade-sequence:
+   sequential:
+   - install.upgrade:
+       mon.a:
+   - print: "**** done install.upgrade mon.a to the version from teuthology-suite arg"
+   - ceph.restart:
+       daemons: [mon.a]
+       wait-for-healthy: true
+   - sleep:
+       duration: 60
+   - ceph.restart:
+       daemons: [osd.0, osd.1]
+       wait-for-healthy: true
+   - sleep:
+       duration: 60
+   - ceph.restart: [mds.a]
+   - sleep:
+       duration: 60
+   - print: "**** running mixed versions of osds and mons"
+   #do we need to use "ceph osd crush tunables hammer" ?
+   - exec:
+      mon.b:
+        - sudo ceph osd crush tunables hammer
+   - print: "**** done ceph osd crush tunables hammer"
+   - install.upgrade:
+       mon.b:
+   - print: "**** done install.upgrade mon.b to the version from teuthology-suite arg"
+   - ceph.restart:
+       daemons: [mon.b, mon.c]
+       wait-for-healthy: true
+   - sleep:
+       duration: 60
+   - ceph.restart:
+       daemons: [osd.2, osd.3]
+       wait-for-healthy: true
+   - sleep:
+       duration: 60
diff --git a/suites/upgrade/infernalis-x/parallel/4-jewel.yaml b/suites/upgrade/infernalis-x/parallel/4-jewel.yaml
new file mode 120000 (symlink)
index 0000000..987c18c
--- /dev/null
@@ -0,0 +1 @@
+../../../../releases/jewel.yaml
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/+ b/suites/upgrade/infernalis-x/parallel/5-final-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rados-snaps-few-objects.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rados-snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..d8b3dcb
--- /dev/null
@@ -0,0 +1,17 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshots
+tasks:
+  - rados:
+      clients: [client.1]
+      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 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rados_loadgenmix.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rados_loadgenmix.yaml
new file mode 100644 (file)
index 0000000..922a9da
--- /dev/null
@@ -0,0 +1,9 @@
+meta:
+- desc: |
+   generate read/write load with rados objects ranging from 1 byte to 1MB
+tasks:
+  - workunit:
+      clients:
+        client.1:
+          - rados/load-gen-mix.sh
+  - print: "**** done rados/load-gen-mix.sh 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rados_mon_thrash.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rados_mon_thrash.yaml
new file mode 100644 (file)
index 0000000..f2249c9
--- /dev/null
@@ -0,0 +1,17 @@
+meta:
+- desc: |
+   librados C and C++ api tests
+overrides:
+  ceph:
+    log-whitelist:
+      - reached quota
+tasks:
+  - mon_thrash:
+      revive_delay: 20
+      thrash_delay: 1
+  - print: "**** done mon_thrash 4-final-workload"
+  - workunit:
+      clients:
+        client.1:
+          - rados/test.sh
+  - print: "**** done rados/test.sh 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_cls.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_cls.yaml
new file mode 100644 (file)
index 0000000..aaf0a37
--- /dev/null
@@ -0,0 +1,9 @@
+meta:
+- desc: |
+   rbd object class functional tests
+tasks:
+  - workunit:
+      clients:
+        client.1:
+          - cls/test_cls_rbd.sh
+  - print: "**** done cls/test_cls_rbd.sh 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_import_export.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rbd_import_export.yaml
new file mode 100644 (file)
index 0000000..46e1355
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+tasks:
+  - workunit:
+      clients:
+        client.1:
+          - rbd/import_export.sh
+      env:
+        RBD_CREATE_ARGS: --new-format
+  - print: "**** done rbd/import_export.sh 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/5-final-workload/rgw_swift.yaml b/suites/upgrade/infernalis-x/parallel/5-final-workload/rgw_swift.yaml
new file mode 100644 (file)
index 0000000..7a7659f
--- /dev/null
@@ -0,0 +1,13 @@
+meta:
+- desc: |
+   swift api tests for rgw
+overrides:
+  rgw:
+    frontend: civetweb
+tasks:
+  - rgw: [client.1]
+  - print: "**** done rgw 4-final-workload"
+  - swift:
+      client.1:
+        rgw_server: client.1
+  - print: "**** done swift 4-final-workload"
diff --git a/suites/upgrade/infernalis-x/parallel/distros b/suites/upgrade/infernalis-x/parallel/distros
new file mode 120000 (symlink)
index 0000000..ca99fee
--- /dev/null
@@ -0,0 +1 @@
+../../../../distros/supported/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/point-to-point-x/% b/suites/upgrade/infernalis-x/point-to-point-x/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/point-to-point-x/distros b/suites/upgrade/infernalis-x/point-to-point-x/distros
new file mode 120000 (symlink)
index 0000000..ca99fee
--- /dev/null
@@ -0,0 +1 @@
+../../../../distros/supported/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/point-to-point-x/point-to-point.yaml b/suites/upgrade/infernalis-x/point-to-point-x/point-to-point.yaml
new file mode 100644 (file)
index 0000000..0629d38
--- /dev/null
@@ -0,0 +1,240 @@
+meta:
+- desc: |
+   Run ceph on two nodes, using one of them as a client,
+   with a separate client-only node. 
+   Use xfs beneath the osds.
+   install ceph/infernalis v9.2.0 point version
+   run workload and upgrade-sequence in parallel
+   install ceph/infernalis latest version
+   run workload and upgrade-sequence in parallel
+   install ceph/-x version (jewel)
+   run workload and upgrade-sequence in parallel
+overrides:
+  ceph:
+    log-whitelist:
+    - reached quota
+    - scrub
+    - osd_map_max_advance
+    - failed to encode
+    - wrongly marked
+    fs: xfs
+    conf:
+      mon:
+        mon debug unsafe allow tier with nonempty snaps: true
+      osd:
+        osd map max advance: 1000
+roles:
+- - mon.a
+  - mds.a
+  - osd.0
+  - osd.1
+  - osd.2
+- - mon.b
+  - mon.c
+  - osd.3
+  - osd.4
+  - osd.5
+  - client.0
+- - client.1
+tasks:
+- print: "****  v9.2.0 about to install"
+- install:
+    tag: v9.2.0
+- print: "**** done v9.2.0 install"
+- ceph:
+   fs: xfs
+- print: "**** done ceph xfs"
+- sequential:
+   - workload
+- print: "**** done workload v9.2.0"
+- parallel:
+   - workload_infernalis
+   - upgrade-sequence_infernalis
+- print: "**** done parallel infernalis branch"
+- install.upgrade:
+   client.1:
+     branch: infernalis
+- parallel:
+   - workload_x
+   - upgrade-sequence_x
+- print: "**** done parallel -x branch"
+# Run test.sh on the -x upgraded cluster
+- install.upgrade:
+    client.1:
+- workunit:
+    clients:
+      client.1:
+      - rados/test.sh
+      - cls
+- print: "**** done final test on -x cluster"
+#######################
+workload:
+   sequential:
+   - workunit:
+       clients:
+         client.0:
+           - suites/blogbench.sh
+   sequential:
+   - install.upgrade:
+       mon.a:
+         branch: infernalis
+       mon.b:
+         branch: infernalis
+       # Note that client.a IS NOT upgraded at this point
+       #client.1:
+         #branch: infernalis
+   - print: "**** done branch: infernalis install.upgrade"
+   - ceph.restart: [mds.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [osd.0]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.1]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.2]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.3]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.4]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.5]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.b]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.c]
+   - sleep:
+       duration: 60
+   - print: "**** done ceph.restart all infernalis branch mds/osd/mon"
+workload_infernalis:
+   sequential:
+   - workunit:
+       branch: infernalis
+       clients:
+         client.1:
+         - rados/test.sh
+         - cls
+   - print: "**** done rados/test.sh &  cls workload_infernalis"
+   - rgw: [client.0]
+   - print: "**** done rgw workload_infernalis"
+   - s3tests:
+       client.0:
+         force-branch: ceph-infernalis
+         rgw_server: client.0
+   - print: "**** done s3tests workload_infernalis"
+upgrade-sequence_infernalis:
+   sequential:
+   - install.upgrade:
+       mon.a:
+         branch: infernalis
+       mon.b:
+         branch: infernalis
+       # Note that client.a IS NOT upgraded at this point
+       #client.1:
+         #branch: hammer
+   - print: "**** done branch: infernalis install.upgrade"
+   - ceph.restart: [mds.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [osd.0]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.1]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.2]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.3]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.4]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.5]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.b]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.c]
+   - sleep:
+       duration: 60
+   - print: "**** done ceph.restart all hammer branch mds/osd/mon"
+workload_x:
+   sequential:
+   - workunit:
+       branch: infernalis
+       clients:
+         client.1:
+         #- rados/test-upgrade-v9.0.1.sh
+         - rados/test.sh
+         - cls
+   - print: "**** done rados/test.sh &  cls workload_x NOT upgraded  client"
+   - workunit:
+       clients:
+         client.0:
+         - rados/test.sh
+         - cls
+   - print: "**** done rados/test.sh &  cls workload_x upgraded client"
+   - rgw: [client.1]
+   - print: "**** done rgw workload_x"
+   - s3tests:
+       client.1:
+         force-branch: ceph-infernalis
+         rgw_server: client.1
+   - print: "**** done s3tests workload_x"
+upgrade-sequence_x:
+   sequential:
+   - install.upgrade:
+       mon.a:
+         #branch: infernalis
+       mon.b:
+         #branch: infernalis
+       # Note that client.a IS NOT upgraded here 
+       #client.1:
+         #branch: infernalis
+   - print: "**** done branch: -x install.upgrade"
+   - ceph.restart: [mds.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [osd.0]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.1]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.2]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.3]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.4]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.5]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.b]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.c]
+   - sleep:
+       duration: 60
+   - print: "**** done ceph.restart all -x branch mds/osd/mon"
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/% b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-cluster b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-cluster
new file mode 120000 (symlink)
index 0000000..3580937
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/0-cluster/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-x86_64.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/0-x86_64.yaml
new file mode 100644 (file)
index 0000000..c2409f5
--- /dev/null
@@ -0,0 +1 @@
+arch: x86_64
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/1-infernalis-install b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/1-infernalis-install
new file mode 120000 (symlink)
index 0000000..6c5f5ea
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/1-infernalis-install/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/2-partial-upgrade b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/2-partial-upgrade
new file mode 120000 (symlink)
index 0000000..ab35fc1
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/2-partial-upgrade/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/3-thrash/default.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..389a190
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomly kill and revive osd
+   small chance of increasing the number of pgs
+overrides:
+  ceph:
+    log-whitelist:
+    - wrongly marked me down
+    - objects unfound and apparently lost
+    - log bound mismatch
+    - failed to encode map e
+tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    min_in: 4
+- print: "**** done thrashosds 3-thrash"
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/4-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/4-mon
new file mode 120000 (symlink)
index 0000000..05f7c0d
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/4-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/5-workload/ec-rados-default.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/5-workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..eeffd92
--- /dev/null
@@ -0,0 +1,22 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on an erasure coded pool
+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/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/6-next-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/6-next-mon
new file mode 120000 (symlink)
index 0000000..c1c26d6
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/6-next-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/8-next-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/8-next-mon
new file mode 120000 (symlink)
index 0000000..6f626f9
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/8-next-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml
new file mode 100644 (file)
index 0000000..13fe70c
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# 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
+      ruleset-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
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/% b/suites/upgrade/infernalis-x/stress-split-erasure-code/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/0-cluster b/suites/upgrade/infernalis-x/stress-split-erasure-code/0-cluster
new file mode 120000 (symlink)
index 0000000..3580937
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/0-cluster/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/1-infernalis-install b/suites/upgrade/infernalis-x/stress-split-erasure-code/1-infernalis-install
new file mode 120000 (symlink)
index 0000000..6c5f5ea
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/1-infernalis-install/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/2-partial-upgrade b/suites/upgrade/infernalis-x/stress-split-erasure-code/2-partial-upgrade
new file mode 120000 (symlink)
index 0000000..ab35fc1
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/2-partial-upgrade/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/3-thrash/default.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..8a87f75
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomly kill and revive osd
+   small chance to increase the number of pgs
+overrides:
+  ceph:
+    log-whitelist:
+    - wrongly marked me down
+    - objects unfound and apparently lost
+    - log bound mismatch
+    - failed to encode map e
+tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    min_in: 4
+- print: "**** done thrashosds 3-thrash"
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/4-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code/4-mon
new file mode 120000 (symlink)
index 0000000..05f7c0d
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/4-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/5-workload/ec-rados-default.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code/5-workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..eeffd92
--- /dev/null
@@ -0,0 +1,22 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on an erasure coded pool
+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/suites/upgrade/infernalis-x/stress-split-erasure-code/6-next-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code/6-next-mon
new file mode 120000 (symlink)
index 0000000..c1c26d6
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/6-next-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/8-next-mon b/suites/upgrade/infernalis-x/stress-split-erasure-code/8-next-mon
new file mode 120000 (symlink)
index 0000000..6f626f9
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/8-next-mon/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml b/suites/upgrade/infernalis-x/stress-split-erasure-code/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml
new file mode 100644 (file)
index 0000000..ab439d5
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# 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
+      ruleset-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
diff --git a/suites/upgrade/infernalis-x/stress-split-erasure-code/distros b/suites/upgrade/infernalis-x/stress-split-erasure-code/distros
new file mode 120000 (symlink)
index 0000000..ca99fee
--- /dev/null
@@ -0,0 +1 @@
+../../../../distros/supported/
\ No newline at end of file
diff --git a/suites/upgrade/infernalis-x/stress-split/% b/suites/upgrade/infernalis-x/stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split/0-cluster/start.yaml b/suites/upgrade/infernalis-x/stress-split/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..fd200d7
--- /dev/null
@@ -0,0 +1,23 @@
+meta:
+- desc: |
+   Run ceph on two nodes,
+   with a separate client-only node. 
+   Use xfs beneath the osds.
+overrides:
+  ceph:
+    conf:
+      mon:
+        mon warn on legacy crush tunables: false
+    fs: xfs
+roles:
+- - mon.a
+  - mon.b
+  - mon.c
+  - mds.a
+  - osd.0
+  - osd.1
+  - osd.2
+- - osd.3
+  - osd.4
+  - osd.5
+- - client.0
diff --git a/suites/upgrade/infernalis-x/stress-split/1-infernalis-install/infernalis.yaml b/suites/upgrade/infernalis-x/stress-split/1-infernalis-install/infernalis.yaml
new file mode 100644 (file)
index 0000000..ee92f7f
--- /dev/null
@@ -0,0 +1,8 @@
+meta:
+- desc: install ceph/infernalis latest
+tasks:
+- install:
+    branch: infernalis
+- print: "**** done install infernalis"
+- ceph:
+- print: "**** done ceph"
diff --git a/suites/upgrade/infernalis-x/stress-split/2-partial-upgrade/firsthalf.yaml b/suites/upgrade/infernalis-x/stress-split/2-partial-upgrade/firsthalf.yaml
new file mode 100644 (file)
index 0000000..ab5dcac
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   install upgrade ceph/-x on one node only
+   1st half
+   restart : osd.0,1,2,3,4,5
+tasks:
+- install.upgrade:
+    osd.0: 
+- print: "**** done install.upgrade osd.0"
+- ceph.restart:
+    daemons: [osd.0, osd.1, osd.2, osd.3, osd.4, osd.5]
+- print: "**** done ceph.restart 1st half"
diff --git a/suites/upgrade/infernalis-x/stress-split/3-thrash/default.yaml b/suites/upgrade/infernalis-x/stress-split/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..f22d24b
--- /dev/null
@@ -0,0 +1,17 @@
+meta:
+- desc: |
+   randomly kill and revive osd
+   small chance to increase the number of pgs
+overrides:
+  ceph:
+    log-whitelist:
+    - wrongly marked me down
+    - objects unfound and apparently lost
+    - log bound mismatch
+    - failed to encode map e
+tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+- print: "**** done thrashosds 3-thrash"
diff --git a/suites/upgrade/infernalis-x/stress-split/4-mon/mona.yaml b/suites/upgrade/infernalis-x/stress-split/4-mon/mona.yaml
new file mode 100644 (file)
index 0000000..e3c369d
--- /dev/null
@@ -0,0 +1,9 @@
+meta:
+- desc: |
+   restart mon.a so it is upgraded to -x
+tasks:
+- ceph.restart:
+    daemons: [mon.a]
+    wait-for-healthy: false
+    wait-for-osds-up: true
+- print: "**** done ceph.restart mon.a"
diff --git a/suites/upgrade/infernalis-x/stress-split/5-workload/+ b/suites/upgrade/infernalis-x/stress-split/5-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split/5-workload/rbd-cls.yaml b/suites/upgrade/infernalis-x/stress-split/5-workload/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..0204baf
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+tasks:
+- workunit:
+    branch: hammer
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/5-workload/rbd-import-export.yaml b/suites/upgrade/infernalis-x/stress-split/5-workload/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..790d8e6
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+tasks:
+- workunit:
+    branch: hammer
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/5-workload/readwrite.yaml b/suites/upgrade/infernalis-x/stress-split/5-workload/readwrite.yaml
new file mode 100644 (file)
index 0000000..1b161b4
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool, 
+   using only reads, writes, and deletes
+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/suites/upgrade/infernalis-x/stress-split/5-workload/snaps-few-objects.yaml b/suites/upgrade/infernalis-x/stress-split/5-workload/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..71445bd
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+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/suites/upgrade/infernalis-x/stress-split/6-next-mon/monb.yaml b/suites/upgrade/infernalis-x/stress-split/6-next-mon/monb.yaml
new file mode 100644 (file)
index 0000000..ba71c73
--- /dev/null
@@ -0,0 +1,9 @@
+meta:
+- desc: |
+   restart mon.b so it is upgraded to -x
+tasks:
+- ceph.restart:
+    daemons: [mon.b]
+    wait-for-healthy: false
+    wait-for-osds-up: true
+- print: "**** done ceph.restart mon.b 6-next-mon"
diff --git a/suites/upgrade/infernalis-x/stress-split/7-workload/+ b/suites/upgrade/infernalis-x/stress-split/7-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split/7-workload/radosbench.yaml b/suites/upgrade/infernalis-x/stress-split/7-workload/radosbench.yaml
new file mode 100644 (file)
index 0000000..e2aa5dc
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 1800
+- print: "**** done radosbench 7-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/7-workload/rbd_api.yaml b/suites/upgrade/infernalis-x/stress-split/7-workload/rbd_api.yaml
new file mode 100644 (file)
index 0000000..8204ec6
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+tasks:
+- workunit:
+     branch: hammer
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/8-next-mon/monc.yaml b/suites/upgrade/infernalis-x/stress-split/8-next-mon/monc.yaml
new file mode 100644 (file)
index 0000000..12788b7
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   restart mon.c so it is upgraded to -x
+   as all mon were upgrated, expected ceph cluster reach quorum
+tasks:
+- ceph.restart:
+    daemons: [mon.c]
+    wait-for-healthy: false
+    wait-for-osds-up: true
+- print: "**** done ceph.restart mon.c 8-next-mon"
+- ceph.wait_for_mon_quorum: [a, b, c]
+- print: "**** done wait_for_mon_quorum 8-next-mon"
diff --git a/suites/upgrade/infernalis-x/stress-split/9-workload/+ b/suites/upgrade/infernalis-x/stress-split/9-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/suites/upgrade/infernalis-x/stress-split/9-workload/rbd-python.yaml b/suites/upgrade/infernalis-x/stress-split/9-workload/rbd-python.yaml
new file mode 100644 (file)
index 0000000..d02db86
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd python api tests
+tasks:
+- workunit:
+    branch: hammer
+    clients:
+      client.0:
+        - rbd/test_librbd_python.sh
+- print: "**** done rbd/test_librbd_python.sh 9-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/9-workload/rgw-swift.yaml b/suites/upgrade/infernalis-x/stress-split/9-workload/rgw-swift.yaml
new file mode 100644 (file)
index 0000000..ba004ce
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   swift api tests for rgw
+tasks:
+- rgw: 
+    client.0:
+    default_idle_timeout: 300
+- print: "**** done rgw 9-workload"
+- swift:
+    client.0:
+      rgw_server: client.0
+- print: "**** done swift 9-workload"
diff --git a/suites/upgrade/infernalis-x/stress-split/9-workload/snaps-many-objects.yaml b/suites/upgrade/infernalis-x/stress-split/9-workload/snaps-many-objects.yaml
new file mode 100644 (file)
index 0000000..805bf97
--- /dev/null
@@ -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/suites/upgrade/infernalis-x/stress-split/distros b/suites/upgrade/infernalis-x/stress-split/distros
new file mode 120000 (symlink)
index 0000000..ca99fee
--- /dev/null
@@ -0,0 +1 @@
+../../../../distros/supported/
\ No newline at end of file