+++ /dev/null
-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
+++ /dev/null
-tasks:
-- install:
- branch: dumpling
-- print: "**** done dumpling install ****"
-- ceph:
- fs: xfs
-- parallel:
- - workload
-- print: "**** done parallel ****"
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: dumpling
- clients:
- client.0:
- - rados/test.sh
- - cls
- - print: "**** done rados/test.sh & cls on dumpling "
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: dumpling
- clients:
- client.0:
- - rbd/test_librbd.sh
- - print: "**** done rbd/test_librbd.sh on dumpling"
+++ /dev/null
-tasks:
- - install.upgrade:
- mon.a:
- branch: firefly
- mon.b:
- branch: firefly
- client.0:
- branch: firefly
- - print: "**** done install.upgrade from dumpling to firefly"
- - 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"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rados/load-gen-big.sh
- - print: "**** done rados/load-gen-big.sh on firefly"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rbd/test_librbd_python.sh
- - print: "**** done rbd/test_librbd_python.sh on firefly"
+++ /dev/null
-upgrade-sequence:
- sequential:
- - install.upgrade:
- mon.a:
- branch: giant
- - print: "**** done install.upgrade mon.a to giant ****"
- - ceph.restart:
- daemons: [mon.a]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [osd.0, osd.1]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - print: "**** running mixed versions of osds and mons"
- - exec:
- mon.a:
- - ceph osd crush tunables firefly
- - install.upgrade:
- mon.b:
- branch: giant
- - print: "**** done install.upgrade mon.b to giant ****"
- - ceph.restart:
- daemons: [mon.b, mon.c]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [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
+++ /dev/null
-upgrade-sequence:
- sequential:
- - install.upgrade:
- mon.a:
- branch: giant
- - print: "**** done install.upgrade mon.a to giant"
- - ceph.restart:
- daemons: [mon.a]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [osd.0, osd.1]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - print: "**** running mixed versions of osds and mons"
- - exec:
- mon.a:
- - ceph osd crush tunables firefly
- - install.upgrade:
- mon.b:
- branch: giant
- - print: "**** done install.upgrade mon.b to giant"
- - ceph.restart:
- daemons: [mon.b, mon.c]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [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
+++ /dev/null
-../../../../../erasure-code/ec-rados-plugin=jerasure-k=3-m=1.yaml
\ No newline at end of file
+++ /dev/null
-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
+++ /dev/null
-tasks:
- - workunit:
- clients:
- client.1:
- - rados/load-gen-mix.sh
+++ /dev/null
-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"
+++ /dev/null
-tasks:
-- workunit:
- clients:
- client.1:
- - cls/test_cls_rbd.sh
-
+++ /dev/null
-tasks:
-- workunit:
- clients:
- client.1:
- - rbd/import_export.sh
- env:
- RBD_CREATE_ARGS: --new-format
+++ /dev/null
-tasks:
-- rgw: [client.1]
-- s3tests:
- client.1:
- rgw_server: client.1
+++ /dev/null
-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
+++ /dev/null
-../../../../distros/supported/
\ No newline at end of file
+++ /dev/null
-overrides:
- ceph:
- conf:
- mon:
- mon warn on legacy crush tunables: false
-roles:
-- - mon.a
- - mon.b
- - mds.a
- - osd.0
- - osd.1
- - osd.2
- - mon.c
-- - osd.3
- - osd.4
- - osd.5
-- - client.0
+++ /dev/null
-tasks:
-- install:
- branch: dumpling
-- ceph:
- fs: xfs
+++ /dev/null
-tasks:
-- install.upgrade:
- osd.0:
-- ceph.restart:
- daemons: [osd.0, osd.1, osd.2]
+++ /dev/null
-overrides:
- ceph:
- log-whitelist:
- - wrongly marked me down
- - objects unfound and apparently lost
- - log bound mismatch
-tasks:
-- thrashosds:
- timeout: 1200
- chance_pgnum_grow: 1
- chance_pgpnum_fix: 1
- thrash_primary_affinity: false
+++ /dev/null
-tasks:
-- ceph.restart:
- daemons: [mon.a]
- wait-for-healthy: false
- wait-for-osds-up: true
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rados/test-upgrade-giant.sh
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - cls/test_cls_rbd.sh
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rbd/import_export.sh
- env:
- RBD_CREATE_ARGS: --new-format
+++ /dev/null
-tasks:
-- rados:
- clients: [client.0]
- ops: 4000
- objects: 500
- op_weights:
- read: 45
- write: 45
- delete: 10
+++ /dev/null
-tasks:
-- rados:
- clients: [client.0]
- ops: 4000
- objects: 50
- op_weights:
- read: 100
- write: 100
- delete: 50
- snap_create: 50
- snap_remove: 50
- rollback: 50
+++ /dev/null
-tasks:
-- ceph.restart:
- daemons: [mon.b]
- wait-for-healthy: false
- wait-for-osds-up: true
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rados/test-upgrade-giant.sh
+++ /dev/null
-tasks:
-- radosbench:
- clients: [client.0]
- time: 1800
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rbd/test_librbd.sh
+++ /dev/null
-tasks:
-- install.upgrade:
- mon.c:
-- ceph.restart:
- daemons: [mon.c]
- wait-for-healthy: false
- wait-for-osds-up: true
-- ceph.wait_for_mon_quorum: [a, b, c]
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rados/test-upgrade-giant.sh
+++ /dev/null
-tasks:
-- workunit:
- branch: giant
- clients:
- client.0:
- - rbd/test_librbd_python.sh
+++ /dev/null
-tasks:
-- rgw:
- default_idle_timeout: 300
- client.0:
-- swift:
- client.0:
- rgw_server: client.0
-
+++ /dev/null
-tasks:
-- rados:
- clients: [client.0]
- ops: 4000
- objects: 500
- op_weights:
- read: 100
- write: 100
- delete: 50
- snap_create: 50
- snap_remove: 50
- rollback: 50
+++ /dev/null
-../../../../distros/supported
\ No newline at end of file
+++ /dev/null
-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
+++ /dev/null
-tasks:
-- install:
- branch: firefly
-- print: "**** done firefly install"
-- ceph:
- fs: xfs
-- parallel:
- - workload
-- print: "**** done parallel"
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rados/test.sh
- - cls
- - print: "**** done rados/test.sh & cls"
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rados/load-gen-big.sh
- - print: "**** done rados/load-gen-big.sh"
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rbd/test_librbd.sh
- - print: "**** done rbd/test_librbd.sh"
+++ /dev/null
-workload:
- sequential:
- - workunit:
- branch: firefly
- clients:
- client.0:
- - rbd/test_librbd_python.sh
- - print: "**** done rbd/test_librbd_python.sh"
+++ /dev/null
-tasks:
- - install.upgrade:
- mon.a:
- branch: giant
- mon.b:
- branch: giant
- client.0:
- branch: giant
-# client.1 will be upgraded as well as it's on the same host as client.0
- - print: "**** done install.upgrade"
- - ceph.restart:
- - print: "**** done restart"
- - parallel:
- - workload2
- - upgrade-sequence
- - print: "**** done parallel 2"
- - install.upgrade:
- client.0:
-# client.1 will be upgraded as well as it's on the same host as client.0
- - print: "**** done install.upgrade client.0 and client.1 to the version from teuthology-suite arg"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: giant
- clients:
- client.0:
- - rados/test.sh
- - cls
- - print: "**** done #rados/test.sh and cls 2"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: giant
- clients:
- client.0:
- - rados/load-gen-big.sh
- - print: "**** done rados/load-gen-big.sh 2"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: giant
- clients:
- client.0:
- - rbd/test_librbd.sh
- - print: "**** done rbd/test_librbd.sh 2"
+++ /dev/null
-workload2:
- sequential:
- - workunit:
- branch: giant
- clients:
- client.0:
- - rbd/test_librbd_python.sh
- - print: "**** done rbd/test_librbd_python.sh 2"
+++ /dev/null
-upgrade-sequence:
- sequential:
- - install.upgrade:
- mon.a:
- - print: "**** done install.upgrade mon.a to the version from teuthology-suite arg"
- - ceph.restart:
- daemons: [mon.a]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [osd.0, osd.1]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - print: "**** running mixed versions of osds and mons"
- - exec:
- mon.a:
- - ceph osd crush tunables firefly
- - install.upgrade:
- mon.b:
- - print: "**** done install.upgrade mon.b to the version from teuthology-suite arg"
- - ceph.restart:
- daemons: [mon.b, mon.c]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [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
+++ /dev/null
-upgrade-sequence:
- sequential:
- - install.upgrade:
- mon.a:
- - print: "**** done install.upgrade mon.a to the version from teuthology-suite arg"
- - ceph.restart:
- daemons: [mon.a]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [osd.0, osd.1]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - print: "**** running mixed versions of osds and mons"
- - exec:
- mon.a:
- - ceph osd crush tunables firefly
- - install.upgrade:
- mon.b:
- - print: "**** done install.upgrade mon.b to the version from teuthology-suite arg"
- - ceph.restart:
- daemons: [mon.b, mon.c]
- wait-for-healthy: true
- - sleep:
- duration: 60
- - ceph.restart:
- daemons: [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
+++ /dev/null
-../../../../../erasure-code/ec-rados-default.yaml
\ No newline at end of file
+++ /dev/null
-../../../../../erasure-code/ec-rados-plugin=jerasure-k=3-m=1.yaml
\ No newline at end of file
+++ /dev/null
-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
+++ /dev/null
-tasks:
- - workunit:
- clients:
- client.1:
- - rados/load-gen-mix.sh
+++ /dev/null
-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"
+++ /dev/null
-tasks:
-- workunit:
- clients:
- client.1:
- - cls/test_cls_rbd.sh
-
+++ /dev/null
-tasks:
-- workunit:
- clients:
- client.1:
- - rbd/import_export.sh
- env:
- RBD_CREATE_ARGS: --new-format
+++ /dev/null
-tasks:
-- rgw: [client.1]
-- s3tests:
- client.1:
- rgw_server: client.1
+++ /dev/null
-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
+++ /dev/null
-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
+++ /dev/null
-../../../../distros/supported/
\ No newline at end of file