Skip to content

Commit

Permalink
Merge pull request #135 from ceph/wip_9398
Browse files Browse the repository at this point in the history
First draft of firefly-giant-x suite
  • Loading branch information
tmuthamizhan committed Sep 26, 2014
2 parents bc8fb2b + 7a0ef8e commit 24a5212
Show file tree
Hide file tree
Showing 28 changed files with 297 additions and 0 deletions.
Empty file.
19 changes: 19 additions & 0 deletions 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
@@ -0,0 +1,9 @@
tasks:
- install:
branch: firefly
- print: "**** done firefly install"
- ceph:
fs: xfs
- parallel:
- workload
- print: "**** done parallel"
Empty file.
@@ -0,0 +1,9 @@
workload:
sequential:
- workunit:
branch: firefly
clients:
client.0:
- rados/test.sh
- cls
- print: "**** done rados/test.sh & cls"
@@ -0,0 +1,8 @@
workload:
sequential:
- workunit:
branch: firefly
clients:
client.0:
- rados/load-gen-big.sh
- print: "**** done rados/load-gen-big.sh"
@@ -0,0 +1,8 @@
workload:
sequential:
- workunit:
branch: firefly
clients:
client.0:
- rbd/test_librbd.sh
- print: "**** done rbd/test_librbd.sh"
@@ -0,0 +1,8 @@
workload:
sequential:
- workunit:
branch: firefly
clients:
client.0:
- rbd/test_librbd_python.sh
- print: "**** done rbd/test_librbd_python.sh"
18 changes: 18 additions & 0 deletions 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"
Empty file.
@@ -0,0 +1,9 @@
workload2:
sequential:
- workunit:
branch: giant
clients:
client.0:
- rados/test.sh
- cls
- print: "**** done #rados/test.sh and cls 2"
@@ -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"
@@ -0,0 +1,8 @@
workload2:
sequential:
- workunit:
branch: giant
clients:
client.0:
- rbd/test_librbd.sh
- print: "**** done rbd/test_librbd.sh 2"
@@ -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"
@@ -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
@@ -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
Empty file.
@@ -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
@@ -0,0 +1,5 @@
tasks:
- workunit:
clients:
client.1:
- rados/load-gen-mix.sh
@@ -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"
@@ -0,0 +1,6 @@
tasks:
- workunit:
clients:
client.1:
- cls/test_cls_rbd.sh

@@ -0,0 +1,7 @@
tasks:
- workunit:
clients:
client.1:
- rbd/import_export.sh
env:
RBD_CREATE_ARGS: --new-format
@@ -0,0 +1,5 @@
tasks:
- rgw: [client.1]
- s3tests:
client.1:
rgw_server: client.1
@@ -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
72 changes: 72 additions & 0 deletions 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
1 change: 1 addition & 0 deletions suites/upgrade/firefly-giant-x/parallel/distros

0 comments on commit 24a5212

Please sign in to comment.