]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/upgrade/luminous-p2p-stress-split: add split scenario
authorNeha Ojha <nojha@redhat.com>
Fri, 11 Jan 2019 02:40:30 +0000 (21:40 -0500)
committerNeha Ojha <nojha@redhat.com>
Fri, 18 Jan 2019 19:06:13 +0000 (14:06 -0500)
This commit adds stress-split test cases to test luminous against a point
release of luminous.

Signed-off-by: Neha Ojha <nojha@redhat.com>
28 files changed:
qa/suites/upgrade/luminous-p2p-stress-split/% [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/+ [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/.qa [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/openstack.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/start.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/1-ceph-install/luminous.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/normal_pg_log.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/short_pg_log.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/.qa [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/firsthalf.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/.qa [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/default.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/+ [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/.qa [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/4-workload/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/5-finish-upgrade.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/+ [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/.qa [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rbd-python.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rgw-swift.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/snaps-many-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/luminous-p2p-stress-split/distros [new symlink]
qa/suites/upgrade/luminous-p2p-stress-split/thrashosds-health.yaml [new symlink]

diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/% b/qa/suites/upgrade/luminous-p2p-stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/+ b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/.qa b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/openstack.yaml b/qa/suites/upgrade/luminous-p2p-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/luminous-p2p-stress-split/0-cluster/start.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..4f40219
--- /dev/null
@@ -0,0 +1,20 @@
+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
+  - mgr.x
+  - osd.0
+  - osd.1
+  - osd.2
+- - osd.3
+  - osd.4
+  - osd.5
+- - client.0
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/1-ceph-install/luminous.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/1-ceph-install/luminous.yaml
new file mode 100644 (file)
index 0000000..127031c
--- /dev/null
@@ -0,0 +1,19 @@
+meta:
+- desc: install ceph/luminous latest
+tasks:
+- install:
+    branch: luminous
+    exclude_packages: ['librados3']
+    extra_packages: ['librados2']
+- print: "**** done install luminous"
+- ceph:
+- exec:
+    osd.0:
+      - ceph osd require-osd-release luminous
+      - ceph osd set-require-min-compat-client luminous
+- print: "**** done ceph"
+overrides:
+  ceph:
+    conf:
+      mon:
+        mon warn on osd down out interval zero: false
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/normal_pg_log.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/normal_pg_log.yaml
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/short_pg_log.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/short_pg_log.yaml
new file mode 100644 (file)
index 0000000..20cc101
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      global:
+        osd_min_pg_log_entries: 1
+        osd_max_pg_log_entries: 2
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/.qa b/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/firsthalf.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/firsthalf.yaml
new file mode 100644 (file)
index 0000000..a73b87b
--- /dev/null
@@ -0,0 +1,17 @@
+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"
+- exec:
+    osd.0:
+      - ceph osd set pglog_hardlimit && exit 1 || true
+      - ceph osd dump --format=json-pretty | grep "flags"
+- print: "**** try to set pglog_hardlimit, should not succeed"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/.qa b/qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/default.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..b3fddef
--- /dev/null
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+   randomly kill and revive osd
+   small chance to increase the number of pgs
+overrides:
+  ceph:
+    log-whitelist:
+    - 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
+- print: "**** done thrashosds 3-thrash"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/+ b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/.qa b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/radosbench.yaml b/qa/suites/upgrade/luminous-p2p-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/luminous-p2p-stress-split/4-workload/rbd-cls.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..f8cc4d8
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+stress-tasks:
+- workunit:
+    branch: luminous
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd-import-export.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..30a677a
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+    branch: luminous
+    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/luminous-p2p-stress-split/4-workload/rbd_api.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/rbd_api.yaml
new file mode 100644 (file)
index 0000000..9079aa3
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+stress-tasks:
+- workunit:
+     branch: luminous
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/readwrite.yaml b/qa/suites/upgrade/luminous-p2p-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/luminous-p2p-stress-split/4-workload/snaps-few-objects.yaml b/qa/suites/upgrade/luminous-p2p-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/luminous-p2p-stress-split/5-finish-upgrade.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/5-finish-upgrade.yaml
new file mode 100644 (file)
index 0000000..9d5a96c
--- /dev/null
@@ -0,0 +1,14 @@
+tasks:
+- install.upgrade:
+    osd.3:
+    client.0:
+- ceph.restart:
+    daemons: [osd.3, osd.4, osd.5]
+    wait-for-healthy: false
+    wait-for-osds-up: true
+- exec:
+    osd.0:
+      - ceph osd set pglog_hardlimit
+      - ceph osd dump --format=json-pretty | grep "flags"
+- print: "**** try to set pglog_hardlimit again, should succeed"
+
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/+ b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/.qa b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rbd-python.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rbd-python.yaml
new file mode 100644 (file)
index 0000000..56ba21d
--- /dev/null
@@ -0,0 +1,9 @@
+meta:
+- desc: |
+   librbd python api tests
+tasks:
+- workunit:
+    clients:
+      client.0:
+        - rbd/test_librbd_python.sh
+- print: "**** done rbd/test_librbd_python.sh 9-workload"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rgw-swift.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rgw-swift.yaml
new file mode 100644 (file)
index 0000000..76e5d6f
--- /dev/null
@@ -0,0 +1,11 @@
+meta:
+- desc: |
+   swift api tests for rgw
+tasks:
+- rgw:
+    client.0:
+- print: "**** done rgw 9-workload"
+- swift:
+    client.0:
+      rgw_server: client.0
+- print: "**** done swift 9-workload"
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/snaps-many-objects.yaml b/qa/suites/upgrade/luminous-p2p-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/luminous-p2p-stress-split/distros b/qa/suites/upgrade/luminous-p2p-stress-split/distros
new file mode 120000 (symlink)
index 0000000..dd0d7f1
--- /dev/null
@@ -0,0 +1 @@
+../../../distros/supported/
\ No newline at end of file
diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/thrashosds-health.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/thrashosds-health.yaml
new file mode 120000 (symlink)
index 0000000..ebf7f34
--- /dev/null
@@ -0,0 +1 @@
+../../../tasks/thrashosds-health.yaml
\ No newline at end of file