diff --git a/suites/upgrade/firefly-giant-x/parallel/% b/suites/upgrade/firefly-giant-x/parallel/% new file mode 100644 index 000000000..e69de29bb diff --git a/suites/upgrade/firefly-giant-x/parallel/0-cluster/start.yaml b/suites/upgrade/firefly-giant-x/parallel/0-cluster/start.yaml new file mode 100644 index 000000000..e3d7f85f9 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/0-cluster/start.yaml @@ -0,0 +1,19 @@ +overrides: + ceph: + conf: + mon: + mon warn on legacy crush tunables: false + log-whitelist: + - scrub mismatch + - ScrubResult +roles: +- - mon.a + - mds.a + - osd.0 + - osd.1 +- - mon.b + - mon.c + - osd.2 + - osd.3 +- - client.0 + - client.1 diff --git a/suites/upgrade/firefly-giant-x/parallel/1-firefly-install/firefly.yaml b/suites/upgrade/firefly-giant-x/parallel/1-firefly-install/firefly.yaml new file mode 100644 index 000000000..b39b5f51a --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/1-firefly-install/firefly.yaml @@ -0,0 +1,9 @@ +tasks: +- install: + branch: firefly +- print: "**** done firefly install" +- ceph: + fs: xfs +- parallel: + - workload +- print: "**** done parallel" diff --git a/suites/upgrade/firefly-giant-x/parallel/2-workload/+ b/suites/upgrade/firefly-giant-x/parallel/2-workload/+ new file mode 100644 index 000000000..e69de29bb diff --git a/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_api.yaml b/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_api.yaml new file mode 100644 index 000000000..798d1e85a --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_api.yaml @@ -0,0 +1,9 @@ +workload: + sequential: + - workunit: + branch: firefly + clients: + client.0: + - rados/test.sh + - cls + - print: "**** done rados/test.sh & cls" diff --git a/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_loadgenbig.yaml b/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_loadgenbig.yaml new file mode 100644 index 000000000..2c8570e41 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/2-workload/rados_loadgenbig.yaml @@ -0,0 +1,8 @@ +workload: + sequential: + - workunit: + branch: firefly + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done rados/load-gen-big.sh" diff --git a/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_api.yaml b/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_api.yaml new file mode 100644 index 000000000..c48f5cbb0 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_api.yaml @@ -0,0 +1,8 @@ +workload: + sequential: + - workunit: + branch: firefly + clients: + client.0: + - rbd/test_librbd.sh + - print: "**** done rbd/test_librbd.sh" diff --git a/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_python.yaml b/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_python.yaml new file mode 100644 index 000000000..49c6237cf --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_python.yaml @@ -0,0 +1,8 @@ +workload: + sequential: + - workunit: + branch: firefly + clients: + client.0: + - rbd/test_librbd_python.sh + - print: "**** done rbd/test_librbd_python.sh" diff --git a/suites/upgrade/firefly-giant-x/parallel/3-giant-upgrade/giant.yaml b/suites/upgrade/firefly-giant-x/parallel/3-giant-upgrade/giant.yaml new file mode 100644 index 000000000..46516cd76 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/3-giant-upgrade/giant.yaml @@ -0,0 +1,18 @@ +tasks: + - install.upgrade: + mon.a: + branch: giant + mon.b: + branch: giant + client.0: + branch: giant + - print: "**** done install.upgrade" + - ceph.restart: + - print: "**** done restart" + - parallel: + - workload2 + - upgrade-sequence + - print: "**** done parallel 2" + - install.upgrade: + client.0: + - print: "**** done install.upgrade client.0 to the version from teuthology-suite arg" diff --git a/suites/upgrade/firefly-giant-x/parallel/4-workload/+ b/suites/upgrade/firefly-giant-x/parallel/4-workload/+ new file mode 100644 index 000000000..e69de29bb diff --git a/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_api.yaml b/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_api.yaml new file mode 100644 index 000000000..c55ee59e2 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_api.yaml @@ -0,0 +1,9 @@ +workload2: + sequential: + - workunit: + branch: giant + clients: + client.0: + - rados/test.sh + - cls + - print: "**** done #rados/test.sh and cls 2" diff --git a/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_loadgenbig.yaml b/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_loadgenbig.yaml new file mode 100644 index 000000000..dc1ccc615 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/4-workload/rados_loadgenbig.yaml @@ -0,0 +1,8 @@ +workload2: + sequential: + - workunit: + branch: giant + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done rados/load-gen-big.sh 2" diff --git a/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_api.yaml b/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_api.yaml new file mode 100644 index 000000000..910f2d4b8 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_api.yaml @@ -0,0 +1,8 @@ +workload2: + sequential: + - workunit: + branch: giant + clients: + client.0: + - rbd/test_librbd.sh + - print: "**** done rbd/test_librbd.sh 2" diff --git a/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_python.yaml b/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_python.yaml new file mode 100644 index 000000000..2b20b28f6 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_python.yaml @@ -0,0 +1,8 @@ +workload2: + sequential: + - workunit: + branch: giant + clients: + client.0: + - rbd/test_librbd_python.sh + - print: "**** done rbd/test_librbd_python.sh 2" diff --git a/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-daemon.yaml b/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-daemon.yaml new file mode 100644 index 000000000..23726b836 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-daemon.yaml @@ -0,0 +1,35 @@ +upgrade-sequence: + sequential: + - install.upgrade: + mon.a: + - print: "**** done install.upgrade mon.a to the version from teuthology-suite arg" + - install.upgrade: + mon.b: + - print: "**** done install.upgrade mon.b to the version from teuthology-suite arg" + - ceph.restart: + daemons: [mon.a] + - sleep: + duration: 60 + - ceph.restart: + daemons: [mon.b] + - sleep: + duration: 60 + - ceph.restart: [mon.c] + - sleep: + duration: 60 + - ceph.restart: [osd.0] + - sleep: + duration: 60 + - ceph.restart: [osd.1] + - sleep: + duration: 60 + - ceph.restart: [osd.2] + - sleep: + duration: 60 + - ceph.restart: [osd.3] + - sleep: + duration: 60 + - ceph.restart: [mds.a] + - exec: + mon.a: + - ceph osd crush tunables firefly diff --git a/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-type.yaml b/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-type.yaml new file mode 100644 index 000000000..e551183bf --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-type.yaml @@ -0,0 +1,24 @@ +upgrade-sequence: + sequential: + - install.upgrade: + mon.a: + - print: "**** done install.upgrade mon.a to the version from teuthology-suite arg" + - install.upgrade: + mon.b: + - print: "**** done install.upgrade mon.b to the version from teuthology-suite arg" + - ceph.restart: + daemons: [mon.a, mon.b, mon.c] + wait-for-healthy: true + - sleep: + duration: 60 + - ceph.restart: + daemons: [osd.0, osd.1, osd.2, osd.3] + wait-for-healthy: true + - sleep: + duration: 60 + - ceph.restart: [mds.a] + - sleep: + duration: 60 + - exec: + mon.a: + - ceph osd crush tunables firefly diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/+ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/+ new file mode 100644 index 000000000..e69de29bb diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-default.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-default.yaml new file mode 120000 index 000000000..a8a0ae694 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-default.yaml @@ -0,0 +1 @@ +../../../../../erasure-code/ec-rados-default.yaml \ No newline at end of file diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml new file mode 120000 index 000000000..4b9d9a44a --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml @@ -0,0 +1 @@ +../../../../../erasure-code/ec-rados-plugin=jerasure-k=3-m=1.yaml \ No newline at end of file diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados-snaps-few-objects.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados-snaps-few-objects.yaml new file mode 100644 index 000000000..bf85020d8 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados-snaps-few-objects.yaml @@ -0,0 +1,12 @@ +tasks: +- rados: + clients: [client.1] + ops: 4000 + objects: 50 + op_weights: + read: 100 + write: 100 + delete: 50 + snap_create: 50 + snap_remove: 50 + rollback: 50 diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_loadgenmix.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_loadgenmix.yaml new file mode 100644 index 000000000..879b7b6d1 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_loadgenmix.yaml @@ -0,0 +1,5 @@ +tasks: + - workunit: + clients: + client.1: + - rados/load-gen-mix.sh diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_mon_thrash.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_mon_thrash.yaml new file mode 100644 index 000000000..5c4c6297c --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_mon_thrash.yaml @@ -0,0 +1,10 @@ +tasks: + - sequential: + - mon_thrash: + revive_delay: 20 + thrash_delay: 1 + - workunit: + clients: + client.1: + - rados/test.sh + - print: "**** done rados/test.sh - 6-final-workload" diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_cls.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_cls.yaml new file mode 100644 index 000000000..908b79e86 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_cls.yaml @@ -0,0 +1,6 @@ +tasks: +- workunit: + clients: + client.1: + - cls/test_cls_rbd.sh + diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_import_export.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_import_export.yaml new file mode 100644 index 000000000..a7ce2141e --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_import_export.yaml @@ -0,0 +1,7 @@ +tasks: +- workunit: + clients: + client.1: + - rbd/import_export.sh + env: + RBD_CREATE_ARGS: --new-format diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_s3tests.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_s3tests.yaml new file mode 100644 index 000000000..22c3a3f82 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_s3tests.yaml @@ -0,0 +1,5 @@ +tasks: +- rgw: [client.1] +- s3tests: + client.1: + rgw_server: client.1 diff --git a/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_swift.yaml b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_swift.yaml new file mode 100644 index 000000000..0ab9febd2 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_swift.yaml @@ -0,0 +1,6 @@ +tasks: +# Uncomment the next line if you have not already included rgw_s3tests.yaml in your test. +# - rgw: [client.1] +- swift: + client.1: + rgw_server: client.1 diff --git a/suites/upgrade/firefly-giant-x/parallel/README b/suites/upgrade/firefly-giant-x/parallel/README new file mode 100644 index 000000000..3f53c20a0 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/README @@ -0,0 +1,72 @@ +Purpose +======= + +This suite tests upgrades of a ceph cluster from firefly (current +branch) to giant (current branch), and then to a later specified +version (version x, e.g. for example ‘next’ or ‘master’). It runs the +last upgrade (steps in 3-giant-upgrade) in parallel with firefly +client tests. + + +Structure +========= + +Generally the flow is: +- install firefly +- test it +- upgrade cluster and clients to giant +- test giant while upgrading cluster to version x +- upgrade clients +- test with version x clients + +0-cluster +--------- + +Defines the cluster layout - two nodes run ceph daemons, and a third +acts as a client. (This is under 'roles:' section in the final yaml) + +1-firefly-install +------------------ + +Installs firefly and runs correctness tests from the 'workload' section + +2-workload +---------- + +Defines the 'workload' section - correctness tests to run on firefly +“+” is used to construct a single yaml load from all tests in this directory + +3-giant-upgrade +----------------- + +First upgrades everything to giant. Then upgrades the cluster to +version x while running correctness tests (from the 'workload2' +section) on giant clients in parallel. This upgrade is done by the +'upgrade-sequence' section, defined later. Once the cluster is +upgraded and these tests complete, upgrades the clients to version x +as well. + +Clients are upgraded last to avoid running newer tests that don't work +against giant, and to verify that giant clients can continue +working with a newer cluster. + +4-workload +---------- + +Defines the 'workload2' section - correctness tests to run during the +upgrade from giant to version x. +“+” is used to construct a single yaml load from all tests in this directory + +5-upgrade-sequence +------------------ + +Defines the 'upgrade-sequence' section - the order in which the +upgrade from giant to version x is done. Note that leaving the +version unspecified here is what makes it upgrade to version x, +which is set as an override when this suite is scheduled. + +6-final-workload +---------------- + +Runs some final correctness tests of version x clients. +“+” is used to construct a single yaml load from all tests in this directory diff --git a/suites/upgrade/firefly-giant-x/parallel/distros b/suites/upgrade/firefly-giant-x/parallel/distros new file mode 120000 index 000000000..ca99fee94 --- /dev/null +++ b/suites/upgrade/firefly-giant-x/parallel/distros @@ -0,0 +1 @@ +../../../../distros/supported/ \ No newline at end of file