From: Neha Ojha Date: Fri, 11 Jan 2019 02:40:30 +0000 (-0500) Subject: qa/suites/upgrade/luminous-p2p-stress-split: add split scenario X-Git-Tag: v12.2.11~13^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8372e0f3ae4b40129ce7b9a44c5e770ecbed5a95;p=ceph.git qa/suites/upgrade/luminous-p2p-stress-split: add split scenario This commit adds stress-split test cases to test luminous against a point release of luminous. Signed-off-by: Neha Ojha --- diff --git a/qa/suites/upgrade/luminous-p2p-stress-split/% b/qa/suites/upgrade/luminous-p2p-stress-split/% new file mode 100644 index 000000000000..e69de29bb2d1 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 index 000000000000..e69de29bb2d1 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 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/.qa @@ -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 index 000000000000..a0d5c20195be --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-p2p-stress-split/0-cluster/start.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/start.yaml new file mode 100644 index 000000000000..4f40219b5267 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/0-cluster/start.yaml @@ -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 index 000000000000..127031c3fa24 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/1-ceph-install/luminous.yaml @@ -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 index 000000000000..8b137891791f --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/normal_pg_log.yaml @@ -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 index 000000000000..20cc101dea1b --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/1.1-pg-log-overrides/short_pg_log.yaml @@ -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 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/.qa @@ -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 index 000000000000..a73b87beb4c5 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/2-partial-upgrade/firsthalf.yaml @@ -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 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/3-thrash/.qa @@ -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 index 000000000000..b3fddefc7a35 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-p2p-stress-split/4-workload/+ b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/+ new file mode 100644 index 000000000000..e69de29bb2d1 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 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/.qa @@ -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 index 000000000000..626ae8ea6653 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-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 index 000000000000..f8cc4d8ac32b --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-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 index 000000000000..30a677af65cf --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-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 index 000000000000..9079aa33b897 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-p2p-stress-split/4-workload/readwrite.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/4-workload/readwrite.yaml new file mode 100644 index 000000000000..41e34d6d7d32 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-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 index 000000000000..f56d0de0f745 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-p2p-stress-split/5-finish-upgrade.yaml b/qa/suites/upgrade/luminous-p2p-stress-split/5-finish-upgrade.yaml new file mode 100644 index 000000000000..9d5a96c6cecd --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/5-finish-upgrade.yaml @@ -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 index 000000000000..e69de29bb2d1 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 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/.qa @@ -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 index 000000000000..56ba21d7a180 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/7-final-workload/rbd-python.yaml @@ -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 index 000000000000..76e5d6fc2315 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-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 index 000000000000..805bf97c3792 --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-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-p2p-stress-split/distros b/qa/suites/upgrade/luminous-p2p-stress-split/distros new file mode 120000 index 000000000000..dd0d7f1d5bdc --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/distros @@ -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 index 000000000000..ebf7f34f39bc --- /dev/null +++ b/qa/suites/upgrade/luminous-p2p-stress-split/thrashosds-health.yaml @@ -0,0 +1 @@ +../../../tasks/thrashosds-health.yaml \ No newline at end of file