]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/upgrade/kraken-x: Initial checkin
authorYuri Weinstein <yweinste@redhat.com>
Fri, 17 Feb 2017 20:14:33 +0000 (15:14 -0500)
committerSage Weil <sage@redhat.com>
Sun, 19 Feb 2017 02:12:23 +0000 (21:12 -0500)
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
56 files changed:
qa/releases/luminous.yaml
qa/suites/upgrade/kraken-x/parallel/% [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/0-cluster/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/0-cluster/openstack.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/0-cluster/start.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/1-kraken-install/kraken.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/blogbench.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/ec-rados-default.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/rados_api.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/rados_loadgenbig.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_python.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-all.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/4-luminous.yaml [new symlink]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/blogbench.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados-snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados_loadgenmix.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados_mon_thrash.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rbd_cls.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rbd_import_export.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/5-final-workload/rgw_swift.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/parallel/distros [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/% [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/0-cluster [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/1-kraken-install [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/2-partial-upgrade [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/3-thrash/default.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/4-ec-workload.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/5-finish-upgrade.yaml [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/6-luminous.yaml [new symlink]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/7-final-workload.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split-erasure-code/distros [new symlink]
qa/suites/upgrade/kraken-x/stress-split/% [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/0-cluster/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/0-cluster/openstack.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/0-cluster/start.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/1-kraken-install/kraken.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/2-partial-upgrade/firsthalf.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/3-thrash/default.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/4-workload/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/5-finish-upgrade.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/6-luminous.yaml [new symlink]
qa/suites/upgrade/kraken-x/stress-split/7-final-workload/+ [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rbd-python.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rgw-swift.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/7-final-workload/snaps-many-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/kraken-x/stress-split/distros [new symlink]

index d6012ffcac1a9ea80689445b6d32fcbc2a162c1f..849bd8244272f8b9b6dc0d47694066b1e7dca605 100644 (file)
@@ -2,8 +2,9 @@ tasks:
 - exec:
     osd.0:
       - ceph osd set require_luminous_osds
+- ceph.healthy:
 overrides:
   ceph:
     conf:
       mon:
-        mon warn on osd down out interval zero: false
\ No newline at end of file
+        mon warn on osd down out interval zero: false
diff --git a/qa/suites/upgrade/kraken-x/parallel/% b/qa/suites/upgrade/kraken-x/parallel/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/parallel/0-cluster/+ b/qa/suites/upgrade/kraken-x/parallel/0-cluster/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/parallel/0-cluster/openstack.yaml b/qa/suites/upgrade/kraken-x/parallel/0-cluster/openstack.yaml
new file mode 100644 (file)
index 0000000..f4d1349
--- /dev/null
@@ -0,0 +1,4 @@
+openstack:
+  - volumes: # attached to each instance
+      count: 3
+      size: 30 # GB
diff --git a/qa/suites/upgrade/kraken-x/parallel/0-cluster/start.yaml b/qa/suites/upgrade/kraken-x/parallel/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..3b39878
--- /dev/null
@@ -0,0 +1,27 @@
+meta:
+- desc: |
+   Run ceph on two nodes,
+   with a separate client 0,1,2 third node.
+   Use xfs beneath the osds.
+   CephFS tests running on client 2,3
+roles:
+- - mon.a
+  - mds.a
+  - osd.0
+  - osd.1
+- - mon.b
+  - mon.c
+  - osd.2
+  - osd.3
+- - client.0
+  - client.1
+  - client.2
+  - client.3
+overrides:
+  ceph:
+    log-whitelist:
+    - scrub mismatch
+    - ScrubResult
+    - wrongly marked
+    conf:
+    fs: xfs
diff --git a/qa/suites/upgrade/kraken-x/parallel/1-kraken-install/kraken.yaml b/qa/suites/upgrade/kraken-x/parallel/1-kraken-install/kraken.yaml
new file mode 100644 (file)
index 0000000..882f2a7
--- /dev/null
@@ -0,0 +1,22 @@
+meta:
+- desc: |
+   install ceph/kraken latest
+   run workload and upgrade-sequence in parallel
+   upgrade the client node
+tasks:
+- install:
+    branch: kraken
+- print: "**** done installing kraken"
+- ceph:
+- print: "**** done ceph"
+- install.upgrade:
+    mon.a:
+    mon.b:
+- print: "**** done install.upgrade both hosts"
+- parallel:
+    - workload
+    - upgrade-sequence
+- print: "**** done parallel"
+- install.upgrade:
+    client.0:
+- print: "**** done install.upgrade on client.0"
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/+ b/qa/suites/upgrade/kraken-x/parallel/2-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/blogbench.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/blogbench.yaml
new file mode 100644 (file)
index 0000000..021fcc6
--- /dev/null
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+   run a cephfs stress test
+   mount ceph-fuse on client.2 before running workunit
+workload:
+  full_sequential:
+  - sequential:
+    - ceph-fuse:
+    - print: "**** done ceph-fuse 2-workload"
+    - workunit:
+        clients:
+           client.2:
+            - suites/blogbench.sh
+    - print: "**** done suites/blogbench.sh 2-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/ec-rados-default.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..5c5a958
--- /dev/null
@@ -0,0 +1,24 @@
+meta:
+- desc: |
+   run run randomized correctness test for rados operations
+   on an erasure-coded pool
+workload:
+  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/qa/suites/upgrade/kraken-x/parallel/2-workload/rados_api.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/rados_api.yaml
new file mode 100644 (file)
index 0000000..893beec
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   object class functional tests
+workload:
+  full_sequential:
+    - workunit:
+        branch: kraken
+        clients:
+          client.0:
+            - cls
+    - print: "**** done cls 2-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/rados_loadgenbig.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/rados_loadgenbig.yaml
new file mode 100644 (file)
index 0000000..8befdd4
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   generate read/write load with rados objects ranging from 1MB to 25MB
+workload:
+  full_sequential:
+    - workunit:
+        branch: kraken
+        clients:
+          client.0:
+            - rados/load-gen-big.sh
+    - print: "**** done rados/load-gen-big.sh 2-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_api.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_api.yaml
new file mode 100644 (file)
index 0000000..10f4b05
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+workload:
+  full_sequential:
+    - workunit:
+        branch: kraken
+        clients:
+          client.0:
+            - rbd/test_librbd.sh
+    - print: "**** done rbd/test_librbd.sh 2-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_python.yaml b/qa/suites/upgrade/kraken-x/parallel/2-workload/test_rbd_python.yaml
new file mode 100644 (file)
index 0000000..23e653d
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   librbd python api tests
+workload:
+  full_sequential:
+    - workunit:
+        branch: kraken
+        clients:
+          client.0:
+            - rbd/test_librbd_python.sh
+    - print: "**** done rbd/test_librbd_python.sh 2-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-all.yaml b/qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-all.yaml
new file mode 100644 (file)
index 0000000..7612ec5
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   upgrade the ceph cluster
+upgrade-sequence:
+   sequential:
+   - ceph.restart:
+       daemons: [mon.a, mon.b, mon.c]
+   - ceph.restart:
+       daemons: [osd.0, osd.1, osd.2, osd.3]
+       wait-for-healthy: false
+       wait-for-osds-up: true
+   - ceph.restart:
+       daemons: [mds.a]
+       wait-for-healthy: false
+       wait-for-osds-up: true
+   - print: "**** done ceph.restart all"
diff --git a/qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml b/qa/suites/upgrade/kraken-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml
new file mode 100644 (file)
index 0000000..6db61d2
--- /dev/null
@@ -0,0 +1,35 @@
+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:
+   - ceph.restart:
+       daemons: [mon.a]
+       wait-for-healthy: true
+   - sleep:
+       duration: 60
+   - ceph.restart:
+       daemons: [mon.b, mon.c]
+       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
+   - sleep:
+       duration: 60
+   - ceph.restart:
+       daemons: [osd.2, osd.3]
+       wait-for-healthy: false
+       wait-for-osds-up: true
+   - sleep:
+       duration: 60
diff --git a/qa/suites/upgrade/kraken-x/parallel/4-luminous.yaml b/qa/suites/upgrade/kraken-x/parallel/4-luminous.yaml
new file mode 120000 (symlink)
index 0000000..5283ac7
--- /dev/null
@@ -0,0 +1 @@
+../../../../releases/luminous.yaml
\ No newline at end of file
diff --git a/qa/suites/upgrade/kraken-x/parallel/5-final-workload/+ b/qa/suites/upgrade/kraken-x/parallel/5-final-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/parallel/5-final-workload/blogbench.yaml b/qa/suites/upgrade/kraken-x/parallel/5-final-workload/blogbench.yaml
new file mode 100644 (file)
index 0000000..d2629c0
--- /dev/null
@@ -0,0 +1,13 @@
+meta:
+- desc: |
+   run a cephfs stress test
+   mount ceph-fuse on client.3 before running workunit
+tasks:
+- sequential:
+  - ceph-fuse:
+  - print: "**** done ceph-fuse 5-final-workload"
+  - workunit:
+      clients:
+         client.3:
+          - suites/blogbench.sh
+  - print: "**** done suites/blogbench.sh 5-final-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados-snaps-few-objects.yaml b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados_loadgenmix.yaml b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados_mon_thrash.yaml b/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rados_mon_thrash.yaml
new file mode 100644 (file)
index 0000000..ab6276e
--- /dev/null
@@ -0,0 +1,18 @@
+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:
+      branch: kraken
+      clients:
+        client.1:
+          - rados/test.sh
+  - print: "**** done rados/test.sh 4-final-workload"
diff --git a/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rbd_cls.yaml b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rbd_import_export.yaml b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/parallel/5-final-workload/rgw_swift.yaml b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/parallel/distros b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/stress-split-erasure-code/% b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/stress-split-erasure-code/0-cluster b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/stress-split-erasure-code/1-kraken-install b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/1-kraken-install
new file mode 120000 (symlink)
index 0000000..d4bcb5a
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/1-kraken-install/
\ No newline at end of file
diff --git a/qa/suites/upgrade/kraken-x/stress-split-erasure-code/2-partial-upgrade b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/stress-split-erasure-code/3-thrash/default.yaml b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..7fd59a0
--- /dev/null
@@ -0,0 +1,20 @@
+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
+tasks:
+- parallel:
+  - stress-tasks
+stress-tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    min_in: 4
+- print: "**** done thrashosds 3-thrash"
diff --git a/qa/suites/upgrade/kraken-x/stress-split-erasure-code/4-ec-workload.yaml b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/4-ec-workload.yaml
new file mode 100644 (file)
index 0000000..c89551e
--- /dev/null
@@ -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/kraken-x/stress-split-erasure-code/5-finish-upgrade.yaml b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/5-finish-upgrade.yaml
new file mode 120000 (symlink)
index 0000000..a66a7dc
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/5-finish-upgrade.yaml
\ No newline at end of file
diff --git a/qa/suites/upgrade/kraken-x/stress-split-erasure-code/6-luminous.yaml b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/6-luminous.yaml
new file mode 120000 (symlink)
index 0000000..2b99d5c
--- /dev/null
@@ -0,0 +1 @@
+../stress-split/6-luminous.yaml
\ No newline at end of file
diff --git a/qa/suites/upgrade/kraken-x/stress-split-erasure-code/7-final-workload.yaml b/qa/suites/upgrade/kraken-x/stress-split-erasure-code/7-final-workload.yaml
new file mode 100644 (file)
index 0000000..8f5c95a
--- /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/qa/suites/upgrade/kraken-x/stress-split-erasure-code/distros b/qa/suites/upgrade/kraken-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/qa/suites/upgrade/kraken-x/stress-split/% b/qa/suites/upgrade/kraken-x/stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/stress-split/0-cluster/+ b/qa/suites/upgrade/kraken-x/stress-split/0-cluster/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/stress-split/0-cluster/openstack.yaml b/qa/suites/upgrade/kraken-x/stress-split/0-cluster/openstack.yaml
new file mode 100644 (file)
index 0000000..a0d5c20
--- /dev/null
@@ -0,0 +1,6 @@
+openstack:
+  - machine:
+      disk: 100 # GB
+  - volumes: # attached to each instance
+      count: 3
+      size: 30 # GB
diff --git a/qa/suites/upgrade/kraken-x/stress-split/0-cluster/start.yaml b/qa/suites/upgrade/kraken-x/stress-split/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..9aef0e7
--- /dev/null
@@ -0,0 +1,19 @@
+meta:
+- desc: |
+   Run ceph on two nodes,
+   with a separate client-only node.
+   Use xfs beneath the osds.
+overrides:
+  ceph:
+    fs: xfs
+roles:
+- - mon.a
+  - mon.b
+  - mon.c
+  - osd.0
+  - osd.1
+  - osd.2
+- - osd.3
+  - osd.4
+  - osd.5
+- - client.0
diff --git a/qa/suites/upgrade/kraken-x/stress-split/1-kraken-install/kraken.yaml b/qa/suites/upgrade/kraken-x/stress-split/1-kraken-install/kraken.yaml
new file mode 100644 (file)
index 0000000..145c2c8
--- /dev/null
@@ -0,0 +1,8 @@
+meta:
+- desc: install ceph/kraken latest
+tasks:
+- install:
+    branch: kraken
+- print: "**** done install kraken"
+- ceph:
+- print: "**** done ceph"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/2-partial-upgrade/firsthalf.yaml b/qa/suites/upgrade/kraken-x/stress-split/2-partial-upgrade/firsthalf.yaml
new file mode 100644 (file)
index 0000000..442dcf1
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   install upgrade ceph/-x on one node only
+   1st half
+   restart : osd.0,1,2
+tasks:
+- install.upgrade:
+    osd.0:
+- print: "**** done install.upgrade osd.0"
+- ceph.restart:
+    daemons: [mon.a,mon.b,mon.c,osd.0, osd.1, osd.2]
+- print: "**** done ceph.restart 1st half"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/3-thrash/default.yaml b/qa/suites/upgrade/kraken-x/stress-split/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..3988032
--- /dev/null
@@ -0,0 +1,19 @@
+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
+tasks:
+- parallel:
+  - stress-tasks
+stress-tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+- print: "**** done thrashosds 3-thrash"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/4-workload/+ b/qa/suites/upgrade/kraken-x/stress-split/4-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/stress-split/4-workload/radosbench.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/radosbench.yaml
new file mode 100644 (file)
index 0000000..626ae8e
--- /dev/null
@@ -0,0 +1,40 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+stress-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+  - radosbench:
+      clients: [client.0]
+      time: 150
+- print: "**** done radosbench 7-workload"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-cls.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..7f4b06b
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+stress-tasks:
+- workunit:
+    branch: kraken
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-import-export.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..b8b6ad3
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+    branch: kraken
+    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/kraken-x/stress-split/4-workload/rbd_api.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/rbd_api.yaml
new file mode 100644 (file)
index 0000000..a5ae1e5
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+stress-tasks:
+- workunit:
+     branch: kraken
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/4-workload/readwrite.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/readwrite.yaml
new file mode 100644 (file)
index 0000000..41e34d6
--- /dev/null
@@ -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/kraken-x/stress-split/4-workload/snaps-few-objects.yaml b/qa/suites/upgrade/kraken-x/stress-split/4-workload/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..f56d0de
--- /dev/null
@@ -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/kraken-x/stress-split/5-finish-upgrade.yaml b/qa/suites/upgrade/kraken-x/stress-split/5-finish-upgrade.yaml
new file mode 100644 (file)
index 0000000..9693b68
--- /dev/null
@@ -0,0 +1,8 @@
+tasks:
+- install.upgrade:
+    osd.3:
+- ceph.restart:
+    daemons: [osd.3, osd.4, osd.5]
+    wait-for-healthy: false
+    wait-for-osds-up: true
+
diff --git a/qa/suites/upgrade/kraken-x/stress-split/6-luminous.yaml b/qa/suites/upgrade/kraken-x/stress-split/6-luminous.yaml
new file mode 120000 (symlink)
index 0000000..5283ac7
--- /dev/null
@@ -0,0 +1 @@
+../../../../releases/luminous.yaml
\ No newline at end of file
diff --git a/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/+ b/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rbd-python.yaml b/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rbd-python.yaml
new file mode 100644 (file)
index 0000000..24c2644
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd python api tests
+tasks:
+- workunit:
+    branch: kraken
+    clients:
+      client.0:
+        - rbd/test_librbd_python.sh
+- print: "**** done rbd/test_librbd_python.sh 9-workload"
diff --git a/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rgw-swift.yaml b/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/rgw-swift.yaml
new file mode 100644 (file)
index 0000000..a3bf03b
--- /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/qa/suites/upgrade/kraken-x/stress-split/7-final-workload/snaps-many-objects.yaml b/qa/suites/upgrade/kraken-x/stress-split/7-final-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/qa/suites/upgrade/kraken-x/stress-split/distros b/qa/suites/upgrade/kraken-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