From: Yuri Weinstein Date: Fri, 1 Sep 2017 21:29:41 +0000 (-0700) Subject: Initial check in luminous-x suite X-Git-Tag: v12.2.1~93^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F17429%2Fhead;p=ceph.git Initial check in luminous-x suite same from master https://github.com/ceph/ceph/pull/17160 Signed-off-by: Yuri Weinstein --- diff --git a/qa/suites/upgrade/luminous-x/parallel/% b/qa/suites/upgrade/luminous-x/parallel/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/parallel/0-cluster/+ b/qa/suites/upgrade/luminous-x/parallel/0-cluster/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/parallel/0-cluster/openstack.yaml b/qa/suites/upgrade/luminous-x/parallel/0-cluster/openstack.yaml new file mode 100644 index 000000000000..f4d1349b4826 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/0-cluster/start.yaml b/qa/suites/upgrade/luminous-x/parallel/0-cluster/start.yaml new file mode 100644 index 000000000000..1e8d5a58ddfc --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/0-cluster/start.yaml @@ -0,0 +1,39 @@ +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) + - 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 + replica_log rgw sdk statelog timeindex user version" + osd_class_default_list: "cephfs hello journal lock log numops rbd refcount + replica_log rgw sdk statelog timeindex user version" + fs: xfs diff --git a/qa/suites/upgrade/luminous-x/parallel/1-ceph-install/luminous.yaml b/qa/suites/upgrade/luminous-x/parallel/1-ceph-install/luminous.yaml new file mode 100644 index 000000000000..3d57f792b97c --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/1-ceph-install/luminous.yaml @@ -0,0 +1,43 @@ +meta: +- desc: | + install ceph/luminous latest + run workload and upgrade-sequence in parallel + upgrade the client node +tasks: +- install: + branch: luminous +- print: "**** done installing luminous" +- 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 luminous + - ceph osd set-require-min-compat-client luminous +- 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/luminous-x/parallel/2-workload/+ b/qa/suites/upgrade/luminous-x/parallel/2-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/parallel/2-workload/blogbench.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/blogbench.yaml new file mode 100644 index 000000000000..021fcc681904 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/2-workload/ec-rados-default.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/ec-rados-default.yaml new file mode 100644 index 000000000000..5c5a958804e3 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/2-workload/rados_api.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/rados_api.yaml new file mode 100644 index 000000000000..e4cc9f96170b --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/2-workload/rados_api.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + object class functional tests +workload: + full_sequential: + - workunit: + branch: luminous + clients: + client.0: + - cls + - print: "**** done cls 2-workload" diff --git a/qa/suites/upgrade/luminous-x/parallel/2-workload/rados_loadgenbig.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/rados_loadgenbig.yaml new file mode 100644 index 000000000000..874a8c5e08bd --- /dev/null +++ b/qa/suites/upgrade/luminous-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: luminous + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done rados/load-gen-big.sh 2-workload" diff --git a/qa/suites/upgrade/luminous-x/parallel/2-workload/test_rbd_api.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/test_rbd_api.yaml new file mode 100644 index 000000000000..81563c906c9d --- /dev/null +++ b/qa/suites/upgrade/luminous-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: luminous + clients: + client.0: + - rbd/test_librbd.sh + - print: "**** done rbd/test_librbd.sh 2-workload" diff --git a/qa/suites/upgrade/luminous-x/parallel/2-workload/test_rbd_python.yaml b/qa/suites/upgrade/luminous-x/parallel/2-workload/test_rbd_python.yaml new file mode 100644 index 000000000000..e17207d20056 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/2-workload/test_rbd_python.yaml @@ -0,0 +1,11 @@ +meta: +- desc: | + librbd python api tests +workload: + full_sequential: + - workunit: + branch: luminous + clients: + client.0: + - rbd/test_librbd_python.sh + - print: "**** done rbd/test_librbd_python.sh 2-workload" diff --git a/qa/suites/upgrade/luminous-x/parallel/3-upgrade-sequence/upgrade-all.yaml b/qa/suites/upgrade/luminous-x/parallel/3-upgrade-sequence/upgrade-all.yaml new file mode 100644 index 000000000000..cff3a68366d1 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/3-upgrade-sequence/upgrade-all.yaml @@ -0,0 +1,16 @@ +meta: +- desc: | + upgrade the ceph cluster +upgrade-sequence: + sequential: + - ceph.restart: + daemons: [mon.a, mon.b, mon.c, mgr.x] + - 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/luminous-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml b/qa/suites/upgrade/luminous-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml new file mode 100644 index 000000000000..f197de67945c --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/3-upgrade-sequence/upgrade-mon-osd-mds.yaml @@ -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, mgr.x] + 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/luminous-x/parallel/5-final-workload/+ b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/parallel/5-final-workload/blogbench.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/blogbench.yaml new file mode 100644 index 000000000000..d2629c03f686 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/5-final-workload/rados-snaps-few-objects.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rados-snaps-few-objects.yaml new file mode 100644 index 000000000000..d8b3dcb3869d --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/5-final-workload/rados_loadgenmix.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rados_loadgenmix.yaml new file mode 100644 index 000000000000..922a9da4f5bf --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/5-final-workload/rados_mon_thrash.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rados_mon_thrash.yaml new file mode 100644 index 000000000000..a42b7d2d7a79 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rados_mon_thrash.yaml @@ -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: luminous + clients: + client.1: + - rados/test.sh + - print: "**** done rados/test.sh 4-final-workload" diff --git a/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rbd_cls.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rbd_cls.yaml new file mode 100644 index 000000000000..aaf0a377999f --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/5-final-workload/rbd_import_export.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rbd_import_export.yaml new file mode 100644 index 000000000000..46e135506872 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/parallel/5-final-workload/rgw_swift.yaml b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rgw_swift.yaml new file mode 100644 index 000000000000..7a7659ff4f1c --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/5-final-workload/rgw_swift.yaml @@ -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/luminous-x/parallel/distros b/qa/suites/upgrade/luminous-x/parallel/distros new file mode 120000 index 000000000000..ca99fee94fa8 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/distros @@ -0,0 +1 @@ +../../../../distros/supported/ \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/parallel/objectstore b/qa/suites/upgrade/luminous-x/parallel/objectstore new file mode 120000 index 000000000000..016cbf9677d9 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/parallel/objectstore @@ -0,0 +1 @@ +../stress-split/objectstore/ \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split-erasure-code/% b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/stress-split-erasure-code/0-cluster b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/0-cluster new file mode 120000 index 000000000000..358093728049 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/2-partial-upgrade b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/2-partial-upgrade new file mode 120000 index 000000000000..ab35fc1a51e1 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/3-thrash/default.yaml b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/3-thrash/default.yaml new file mode 100644 index 000000000000..edae7b3bd68e --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/4-ec-workload.yaml b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/4-ec-workload.yaml new file mode 100644 index 000000000000..c89551e6b86c --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/5-finish-upgrade.yaml b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/5-finish-upgrade.yaml new file mode 120000 index 000000000000..a66a7dc1852a --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/7-final-workload.yaml b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/7-final-workload.yaml new file mode 100644 index 000000000000..50a1465072dc --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split-erasure-code/distros b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/distros new file mode 120000 index 000000000000..ca99fee94fa8 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/distros @@ -0,0 +1 @@ +../../../../distros/supported/ \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split-erasure-code/objectstore b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/objectstore new file mode 120000 index 000000000000..016cbf9677d9 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/objectstore @@ -0,0 +1 @@ +../stress-split/objectstore/ \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split-erasure-code/thrashosds-health.yaml b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/thrashosds-health.yaml new file mode 120000 index 000000000000..e0426dbe4993 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split-erasure-code/thrashosds-health.yaml @@ -0,0 +1 @@ +../../../../tasks/thrashosds-health.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split/% b/qa/suites/upgrade/luminous-x/stress-split/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/stress-split/0-cluster/+ b/qa/suites/upgrade/luminous-x/stress-split/0-cluster/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/stress-split/0-cluster/openstack.yaml b/qa/suites/upgrade/luminous-x/stress-split/0-cluster/openstack.yaml new file mode 100644 index 000000000000..a0d5c20195be --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/0-cluster/openstack.yaml @@ -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-x/stress-split/0-cluster/start.yaml b/qa/suites/upgrade/luminous-x/stress-split/0-cluster/start.yaml new file mode 100644 index 000000000000..e3ad918e8b84 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/0-cluster/start.yaml @@ -0,0 +1,29 @@ +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 +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-x/stress-split/1-ceph-install/luminous.yaml b/qa/suites/upgrade/luminous-x/stress-split/1-ceph-install/luminous.yaml new file mode 100644 index 000000000000..22305258ee6b --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/1-ceph-install/luminous.yaml @@ -0,0 +1,17 @@ +meta: +- desc: install ceph/luminous latest +tasks: +- install: + branch: luminous +- 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-x/stress-split/2-partial-upgrade/firsthalf.yaml b/qa/suites/upgrade/luminous-x/stress-split/2-partial-upgrade/firsthalf.yaml new file mode 100644 index 000000000000..87fa1d5fa2c3 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/2-partial-upgrade/firsthalf.yaml @@ -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,mgr.x,osd.0,osd.1,osd.2] +- print: "**** done ceph.restart 1st half" diff --git a/qa/suites/upgrade/luminous-x/stress-split/3-thrash/default.yaml b/qa/suites/upgrade/luminous-x/stress-split/3-thrash/default.yaml new file mode 100644 index 000000000000..b3fddefc7a35 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/4-workload/+ b/qa/suites/upgrade/luminous-x/stress-split/4-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/stress-split/4-workload/radosbench.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/radosbench.yaml new file mode 100644 index 000000000000..626ae8ea6653 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/4-workload/radosbench.yaml @@ -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-x/stress-split/4-workload/rbd-cls.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/rbd-cls.yaml new file mode 100644 index 000000000000..f8cc4d8ac32b --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/4-workload/rbd-cls.yaml @@ -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-x/stress-split/4-workload/rbd-import-export.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/rbd-import-export.yaml new file mode 100644 index 000000000000..30a677af65cf --- /dev/null +++ b/qa/suites/upgrade/luminous-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: 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-x/stress-split/4-workload/rbd_api.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/rbd_api.yaml new file mode 100644 index 000000000000..9079aa33b897 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/4-workload/rbd_api.yaml @@ -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-x/stress-split/4-workload/readwrite.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/readwrite.yaml new file mode 100644 index 000000000000..41e34d6d7d32 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/4-workload/snaps-few-objects.yaml b/qa/suites/upgrade/luminous-x/stress-split/4-workload/snaps-few-objects.yaml new file mode 100644 index 000000000000..f56d0de0f745 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/5-finish-upgrade.yaml b/qa/suites/upgrade/luminous-x/stress-split/5-finish-upgrade.yaml new file mode 100644 index 000000000000..1d528cd5de75 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/5-finish-upgrade.yaml @@ -0,0 +1,9 @@ +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 + diff --git a/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/+ b/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/rbd-python.yaml b/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/rbd-python.yaml new file mode 100644 index 000000000000..92fe658b42ea --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/rbd-python.yaml @@ -0,0 +1,10 @@ +meta: +- desc: | + librbd python api tests +tasks: +- workunit: + branch: luminous + clients: + client.0: + - rbd/test_librbd_python.sh +- print: "**** done rbd/test_librbd_python.sh 9-workload" diff --git a/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/rgw-swift.yaml b/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/rgw-swift.yaml new file mode 100644 index 000000000000..76e5d6fc2315 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/7-final-workload/snaps-many-objects.yaml b/qa/suites/upgrade/luminous-x/stress-split/7-final-workload/snaps-many-objects.yaml new file mode 100644 index 000000000000..805bf97c3792 --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/distros b/qa/suites/upgrade/luminous-x/stress-split/distros new file mode 120000 index 000000000000..ca99fee94fa8 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/distros @@ -0,0 +1 @@ +../../../../distros/supported/ \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split/objectstore/bluestore.yaml b/qa/suites/upgrade/luminous-x/stress-split/objectstore/bluestore.yaml new file mode 120000 index 000000000000..d6445987d072 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/objectstore/bluestore.yaml @@ -0,0 +1 @@ +../../../../../objectstore/bluestore.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/luminous-x/stress-split/objectstore/filestore-xfs.yaml b/qa/suites/upgrade/luminous-x/stress-split/objectstore/filestore-xfs.yaml new file mode 120000 index 000000000000..03750e5adeba --- /dev/null +++ b/qa/suites/upgrade/luminous-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/luminous-x/stress-split/thrashosds-health.yaml b/qa/suites/upgrade/luminous-x/stress-split/thrashosds-health.yaml new file mode 120000 index 000000000000..e0426dbe4993 --- /dev/null +++ b/qa/suites/upgrade/luminous-x/stress-split/thrashosds-health.yaml @@ -0,0 +1 @@ +../../../../tasks/thrashosds-health.yaml \ No newline at end of file