From: Yuri Weinstein Date: Fri, 27 Jul 2018 20:38:14 +0000 (-0700) Subject: qa/tests: added 1st draft of mimic-x suite X-Git-Tag: v14.0.1~732^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e6f21c1aa3c7346bf4239dbc9662632db4c65bc0;p=ceph.git qa/tests: added 1st draft of mimic-x suite Fixes: https://tracker.ceph.com/issues/25140 Signed-off-by: Yuri Weinstein --- diff --git a/qa/suites/upgrade/mimic-x/parallel/% b/qa/suites/upgrade/mimic-x/parallel/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/parallel/.qa b/qa/suites/upgrade/mimic-x/parallel/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/0-cluster/+ b/qa/suites/upgrade/mimic-x/parallel/0-cluster/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/parallel/0-cluster/.qa b/qa/suites/upgrade/mimic-x/parallel/0-cluster/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/0-cluster/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/0-cluster/openstack.yaml b/qa/suites/upgrade/mimic-x/parallel/0-cluster/openstack.yaml new file mode 100644 index 000000000000..f4d1349b4826 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/0-cluster/openstack.yaml @@ -0,0 +1,4 @@ +openstack: + - volumes: # attached to each instance + count: 3 + size: 30 # GB diff --git a/qa/suites/upgrade/mimic-x/parallel/0-cluster/start.yaml b/qa/suites/upgrade/mimic-x/parallel/0-cluster/start.yaml new file mode 100644 index 000000000000..8c3fdc4b1b8a --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/0-cluster/start.yaml @@ -0,0 +1,43 @@ +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 + - mgr.x + - 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 + - \(POOL_APP_NOT_ENABLED\) + - \(SLOW_OPS\) + - overall HEALTH_ + conf: + global: + enable experimental unrecoverable data corrupting features: "*" + mon: + mon warn on osd down out interval zero: false + osd: + osd_class_load_list: "cephfs hello journal lock log numops rbd refcount + rgw sdk statelog timeindex user version" + osd_class_default_list: "cephfs hello journal lock log numops rbd refcount + rgw sdk statelog timeindex user version" + fs: xfs + #enable RHEL runs on ovh nodes + ansible.cephlab: + skip_tags: entitlements,packages,repos diff --git a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/.qa b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml new file mode 100644 index 000000000000..4bd0e5cd311a --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml @@ -0,0 +1,43 @@ +meta: +- desc: | + install ceph/mimic latest + run workload and upgrade-sequence in parallel + upgrade the client node +tasks: +- install: + branch: mimic +- print: "**** done installing mimic" +- ceph: + log-whitelist: + - overall HEALTH_ + - \(FS_ + - \(MDS_ + - \(OSD_ + - \(MON_DOWN\) + - \(CACHE_POOL_ + - \(POOL_ + - \(MGR_DOWN\) + - \(PG_ + - \(SMALLER_PGP_NUM\) + - Monitor daemon marked osd + - Behind on trimming + - Manager daemon + conf: + global: + mon warn on pool no app: false +- exec: + osd.0: + - ceph osd require-osd-release mimic + - ceph osd set-require-min-compat-client mimic +- 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/mimic-x/parallel/2-workload/+ b/qa/suites/upgrade/mimic-x/parallel/2-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/.qa b/qa/suites/upgrade/mimic-x/parallel/2-workload/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/blogbench.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/blogbench.yaml new file mode 100644 index 000000000000..021fcc681904 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/blogbench.yaml @@ -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/mimic-x/parallel/2-workload/ec-rados-default.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/ec-rados-default.yaml new file mode 100644 index 000000000000..5c5a958804e3 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/ec-rados-default.yaml @@ -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/mimic-x/parallel/2-workload/rados_api.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/rados_api.yaml new file mode 100644 index 000000000000..fcbdf57dbab5 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/rados_api.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + object class functional tests +workload: + full_sequential: + - workunit: + branch: mimic + clients: + client.0: + - cls + - print: "**** done cls 2-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/rados_loadgenbig.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/rados_loadgenbig.yaml new file mode 100644 index 000000000000..fe88cc5b1aaf --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/rados_loadgenbig.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + generate read/write load with rados objects ranging from 1MB to 25MB +workload: + full_sequential: + - workunit: + branch: mimic + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done rados/load-gen-big.sh 2-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/rgw_ragweed_prepare.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/rgw_ragweed_prepare.yaml new file mode 100644 index 000000000000..b7a7739b4ba4 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/rgw_ragweed_prepare.yaml @@ -0,0 +1,14 @@ +meta: +- desc: | + rgw ragweed prepare +workload: + full_sequential: + - sequential: + - rgw: + - client.1 + - ragweed: + client.1: + force-branch: ceph-master + rgw_server: client.1 + stages: prepare + - print: "**** done rgw ragweed prepare 2-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_api.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_api.yaml new file mode 100644 index 000000000000..b2f6766e0892 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_api.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + librbd C and C++ api tests +workload: + full_sequential: + - workunit: + branch: mimic + clients: + client.0: + - rbd/test_librbd.sh + - print: "**** done rbd/test_librbd.sh 2-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_python.yaml b/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_python.yaml new file mode 100644 index 000000000000..c8b4fca7a82f --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/2-workload/test_rbd_python.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + librbd python api tests +workload: + full_sequential: + - workunit: + branch: mimic + clients: + client.0: + - rbd/test_librbd_python.sh + - print: "**** done rbd/test_librbd_python.sh 2-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/.qa b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/upgrade-all.yaml b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/upgrade-all.yaml new file mode 100644 index 000000000000..5c021bdf1307 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/upgrade-all.yaml @@ -0,0 +1,17 @@ +meta: +- desc: | + upgrade the ceph cluster +upgrade-sequence: + sequential: + - ceph.restart: + daemons: [mon.a, mon.b, mon.c, mgr.x] + mon-health-to-clog: false + - 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/mimic-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml new file mode 100644 index 000000000000..46a1345fb154 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml @@ -0,0 +1,36 @@ +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, mgr.x] + wait-for-healthy: true + mon-health-to-clog: false + - 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/mimic-x/parallel/5-final-workload/+ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/parallel/5-final-workload/.qa b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/5-final-workload/blogbench.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/blogbench.yaml new file mode 100644 index 000000000000..d2629c03f686 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/blogbench.yaml @@ -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/mimic-x/parallel/5-final-workload/rados-snaps-few-objects.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados-snaps-few-objects.yaml new file mode 100644 index 000000000000..d8b3dcb3869d --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados-snaps-few-objects.yaml @@ -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/mimic-x/parallel/5-final-workload/rados_loadgenmix.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados_loadgenmix.yaml new file mode 100644 index 000000000000..922a9da4f5bf --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados_loadgenmix.yaml @@ -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/mimic-x/parallel/5-final-workload/rados_mon_thrash.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados_mon_thrash.yaml new file mode 100644 index 000000000000..1058efac5c7d --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rados_mon_thrash.yaml @@ -0,0 +1,19 @@ +meta: +- desc: | + librados C and C++ api tests +overrides: + ceph: + log-whitelist: + - reached quota + - \(REQUEST_SLOW\) +tasks: + - mon_thrash: + revive_delay: 20 + thrash_delay: 1 + - print: "**** done mon_thrash 4-final-workload" + - workunit: + branch: mimic + clients: + client.1: + - rados/test.sh + - print: "**** done rados/test.sh 4-final-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rbd_cls.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rbd_cls.yaml new file mode 100644 index 000000000000..aaf0a377999f --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rbd_cls.yaml @@ -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/mimic-x/parallel/5-final-workload/rbd_import_export.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rbd_import_export.yaml new file mode 100644 index 000000000000..46e135506872 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rbd_import_export.yaml @@ -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/mimic-x/parallel/5-final-workload/rgw.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw.yaml new file mode 100644 index 000000000000..00855dc5606e --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw.yaml @@ -0,0 +1,8 @@ +overrides: + rgw: + frontend: civetweb +tasks: + - sequential: + - rgw: [client.1] + - print: "**** done rgw 4-final-workload" + - rgw-final-workload diff --git a/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_ragweed_check.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_ragweed_check.yaml new file mode 100644 index 000000000000..72233b2edf6f --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_ragweed_check.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + ragweed check for rgw +rgw-final-workload: + full_sequential: + - ragweed: + client.1: + force-branch: ceph-master + rgw_server: client.1 + stages: check + - print: "**** done ragweed check 4-final-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_swift.yaml b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_swift.yaml new file mode 100644 index 000000000000..45c136fa8f79 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/5-final-workload/rgw_swift.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + swift api tests for rgw +rgw-final-workload: + full_sequential: + - swift: + client.1: + force-branch: ceph-master + rgw_server: client.1 + - print: "**** done swift 4-final-workload" diff --git a/qa/suites/upgrade/mimic-x/parallel/objectstore b/qa/suites/upgrade/mimic-x/parallel/objectstore new file mode 120000 index 000000000000..016cbf9677d9 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/objectstore @@ -0,0 +1 @@ +../stress-split/objectstore/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/parallel/supported-all-distro b/qa/suites/upgrade/mimic-x/parallel/supported-all-distro new file mode 120000 index 000000000000..44d01d187274 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/parallel/supported-all-distro @@ -0,0 +1 @@ +../../../../../qa/distros/supported-all-distro/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/% b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/.qa b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/0-cluster b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/0-cluster new file mode 120000 index 000000000000..358093728049 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/0-cluster @@ -0,0 +1 @@ +../stress-split/0-cluster/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/1-luminous-install b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/1-luminous-install new file mode 120000 index 000000000000..0479ac542ea5 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/1-luminous-install @@ -0,0 +1 @@ +../stress-split/1-ceph-install/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/2-partial-upgrade b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/2-partial-upgrade new file mode 120000 index 000000000000..ab35fc1a51e1 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/2-partial-upgrade @@ -0,0 +1 @@ +../stress-split/2-partial-upgrade/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/.qa b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/default.yaml b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/default.yaml new file mode 100644 index 000000000000..edae7b3bd68e --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/3-thrash/default.yaml @@ -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 + min_in: 4 + chance_thrash_cluster_full: 0 + chance_thrash_pg_upmap: 0 + chance_thrash_pg_upmap_items: 0 + chance_force_recovery: 0 +- print: "**** done thrashosds 3-thrash" diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/4-ec-workload.yaml b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/4-ec-workload.yaml new file mode 100644 index 000000000000..c89551e6b86c --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/4-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/mimic-x/stress-split-erasure-code/5-finish-upgrade.yaml b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/5-finish-upgrade.yaml new file mode 120000 index 000000000000..a66a7dc1852a --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/5-finish-upgrade.yaml @@ -0,0 +1 @@ +../stress-split/5-finish-upgrade.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/7-final-workload.yaml b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/7-final-workload.yaml new file mode 100644 index 000000000000..50a1465072dc --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/7-final-workload.yaml @@ -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 + 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 diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/objectstore b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/objectstore new file mode 120000 index 000000000000..016cbf9677d9 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/objectstore @@ -0,0 +1 @@ +../stress-split/objectstore/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/supported-all-distro b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/supported-all-distro new file mode 120000 index 000000000000..44d01d187274 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/supported-all-distro @@ -0,0 +1 @@ +../../../../../qa/distros/supported-all-distro/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split-erasure-code/thrashosds-health.yaml b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/thrashosds-health.yaml new file mode 120000 index 000000000000..a18eda114a0c --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split-erasure-code/thrashosds-health.yaml @@ -0,0 +1 @@ +../../../../../qa/tasks/thrashosds-health.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/% b/qa/suites/upgrade/mimic-x/stress-split/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/stress-split/.qa b/qa/suites/upgrade/mimic-x/stress-split/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/0-cluster/+ b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/stress-split/0-cluster/.qa b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/0-cluster/openstack.yaml b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/openstack.yaml new file mode 100644 index 000000000000..5caffc353f96 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/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/mimic-x/stress-split/0-cluster/start.yaml b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/start.yaml new file mode 100644 index 000000000000..d71647f92739 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/0-cluster/start.yaml @@ -0,0 +1,34 @@ +meta: +- desc: | + Run ceph on two nodes, + with a separate client-only node. + Use xfs beneath the osds. +overrides: + ceph: + fs: xfs + log-whitelist: + - overall HEALTH_ + - \(MON_DOWN\) + - \(MGR_DOWN\) + conf: + global: + enable experimental unrecoverable data corrupting features: "*" + mon: + mon warn on osd down out interval zero: false + #enable RHEL runs on ovh nodes + ansible.cephlab: + skip_tags: entitlements,packages,repos +roles: +- - mon.a + - mon.b + - mon.c + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - osd.3 +- - osd.4 + - osd.5 + - osd.6 + - osd.7 +- - client.0 diff --git a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/.qa b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml new file mode 100644 index 000000000000..2ff0f2a89ef2 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml @@ -0,0 +1,17 @@ +meta: +- desc: install ceph/mimic latest +tasks: +- install: + branch: mimic +- print: "**** done install mimic" +- ceph: +- exec: + osd.0: + - ceph osd require-osd-release mimic + - ceph osd set-require-min-compat-client mimic +- print: "**** done ceph" +overrides: + ceph: + conf: + mon: + mon warn on osd down out interval zero: false diff --git a/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/.qa b/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/firsthalf.yaml b/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/firsthalf.yaml new file mode 100644 index 000000000000..02ba5c1bba88 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/2-partial-upgrade/firsthalf.yaml @@ -0,0 +1,13 @@ +meta: +- desc: | + install upgrade ceph/-x on one node only + 1st half + restart : osd.0,1,2,3 +tasks: +- install.upgrade: + osd.0: +- print: "**** done install.upgrade osd.0" +- ceph.restart: + daemons: [mon.a,mon.b,mon.c,mgr.x,osd.0,osd.1,osd.2,osd.3] + mon-health-to-clog: false +- print: "**** done ceph.restart 1st half" diff --git a/qa/suites/upgrade/mimic-x/stress-split/3-thrash/.qa b/qa/suites/upgrade/mimic-x/stress-split/3-thrash/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/3-thrash/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/3-thrash/default.yaml b/qa/suites/upgrade/mimic-x/stress-split/3-thrash/default.yaml new file mode 100644 index 000000000000..b3fddefc7a35 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/3-thrash/default.yaml @@ -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/mimic-x/stress-split/4-workload/+ b/qa/suites/upgrade/mimic-x/stress-split/4-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/stress-split/4-workload/.qa b/qa/suites/upgrade/mimic-x/stress-split/4-workload/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/4-workload/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/4-workload/radosbench.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/radosbench.yaml new file mode 100644 index 000000000000..115939e6c7b8 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/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 radosbench 7-workload" diff --git a/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-cls.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-cls.yaml new file mode 100644 index 000000000000..52ccaec93cb0 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-cls.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + run basic cls tests for rbd +stress-tasks: +- workunit: + branch: mimic + clients: + client.0: + - cls/test_cls_rbd.sh +- print: "**** done cls/test_cls_rbd.sh 5-workload" diff --git a/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-import-export.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-import-export.yaml new file mode 100644 index 000000000000..1761f4f96f6b --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +stress-tasks: +- workunit: + branch: mimic + 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/mimic-x/stress-split/4-workload/rbd_api.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd_api.yaml new file mode 100644 index 000000000000..8f010cb201ea --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/4-workload/rbd_api.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + librbd C and C++ api tests +stress-tasks: +- workunit: + branch: mimic + clients: + client.0: + - rbd/test_librbd.sh +- print: "**** done rbd/test_librbd.sh 7-workload" diff --git a/qa/suites/upgrade/mimic-x/stress-split/4-workload/readwrite.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/readwrite.yaml new file mode 100644 index 000000000000..41e34d6d7d32 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/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/mimic-x/stress-split/4-workload/snaps-few-objects.yaml b/qa/suites/upgrade/mimic-x/stress-split/4-workload/snaps-few-objects.yaml new file mode 100644 index 000000000000..f56d0de0f745 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/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/mimic-x/stress-split/5-finish-upgrade.yaml b/qa/suites/upgrade/mimic-x/stress-split/5-finish-upgrade.yaml new file mode 100644 index 000000000000..6e2fc54509e5 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/5-finish-upgrade.yaml @@ -0,0 +1,9 @@ +tasks: +- install.upgrade: + osd.4: + client.0: +- ceph.restart: + daemons: [osd.4, osd.5, osd.6, osd.7] + wait-for-healthy: false + wait-for-osds-up: true + diff --git a/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/+ b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/.qa b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rbd-python.yaml b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rbd-python.yaml new file mode 100644 index 000000000000..a1a3d9e9143e --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rbd-python.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + librbd python api tests +tasks: +- workunit: + branch: mimic + clients: + client.0: + - rbd/test_librbd_python.sh +- print: "**** done rbd/test_librbd_python.sh 9-workload" diff --git a/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rgw-swift.yaml b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rgw-swift.yaml new file mode 100644 index 000000000000..76e5d6fc2315 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/rgw-swift.yaml @@ -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/mimic-x/stress-split/7-final-workload/snaps-many-objects.yaml b/qa/suites/upgrade/mimic-x/stress-split/7-final-workload/snaps-many-objects.yaml new file mode 100644 index 000000000000..805bf97c3792 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/7-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/mimic-x/stress-split/objectstore/.qa b/qa/suites/upgrade/mimic-x/stress-split/objectstore/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/objectstore/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/objectstore/bluestore.yaml b/qa/suites/upgrade/mimic-x/stress-split/objectstore/bluestore.yaml new file mode 120000 index 000000000000..d6445987d072 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/objectstore/bluestore.yaml @@ -0,0 +1 @@ +../../../../../objectstore/bluestore.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/objectstore/filestore-xfs.yaml b/qa/suites/upgrade/mimic-x/stress-split/objectstore/filestore-xfs.yaml new file mode 120000 index 000000000000..03750e5adeba --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/objectstore/filestore-xfs.yaml @@ -0,0 +1 @@ +../../../../../objectstore/filestore-xfs.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/supported-all-distro b/qa/suites/upgrade/mimic-x/stress-split/supported-all-distro new file mode 120000 index 000000000000..44d01d187274 --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/supported-all-distro @@ -0,0 +1 @@ +../../../../../qa/distros/supported-all-distro/ \ No newline at end of file diff --git a/qa/suites/upgrade/mimic-x/stress-split/thrashosds-health.yaml b/qa/suites/upgrade/mimic-x/stress-split/thrashosds-health.yaml new file mode 120000 index 000000000000..a18eda114a0c --- /dev/null +++ b/qa/suites/upgrade/mimic-x/stress-split/thrashosds-health.yaml @@ -0,0 +1 @@ +../../../../../qa/tasks/thrashosds-health.yaml \ No newline at end of file