]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
First draft of firefly-giant-x suite
authorYuri Weinstein <yuri.weinstein@inktank.com>
Fri, 12 Sep 2014 22:32:33 +0000 (15:32 -0700)
committerYuri Weinstein <yuri.weinstein@inktank.com>
Fri, 12 Sep 2014 22:32:33 +0000 (15:32 -0700)
Signed-off-by: Yuri Weinstein <yuri.weinstein@inktank.com>
28 files changed:
suites/upgrade/firefly-giant-x/parallel/% [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/0-cluster/start.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/1-firefly-install/firefly.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/2-workload/+ [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/2-workload/rados_api.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/2-workload/rados_loadgenbig.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_api.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/2-workload/test_rbd_python.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/3-giant-upgrade/giant.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/4-workload/+ [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/4-workload/rados_api.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/4-workload/rados_loadgenbig.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_api.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/4-workload/test_rbd_python.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-daemon.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/5-upgrade-sequence/upgrade-by-type.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/+ [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-default.yaml [new symlink]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml [new symlink]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados-snaps-few-objects.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_loadgenmix.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rados_mon_thrash.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_cls.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rbd_import_export.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_s3tests.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/6-final-workload/rgw_swift.yaml [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/README [new file with mode: 0644]
suites/upgrade/firefly-giant-x/parallel/distros [new symlink]

diff --git a/suites/upgrade/firefly-giant-x/parallel/% b/suites/upgrade/firefly-giant-x/parallel/%
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..e3d7f85
--- /dev/null
@@ -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 (file)
index 0000000..b39b5f5
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..798d1e8
--- /dev/null
@@ -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 (file)
index 0000000..2c8570e
--- /dev/null
@@ -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 (file)
index 0000000..c48f5cb
--- /dev/null
@@ -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 (file)
index 0000000..49c6237
--- /dev/null
@@ -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 (file)
index 0000000..46516cd
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..c55ee59
--- /dev/null
@@ -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 (file)
index 0000000..dc1ccc6
--- /dev/null
@@ -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 (file)
index 0000000..910f2d4
--- /dev/null
@@ -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 (file)
index 0000000..2b20b28
--- /dev/null
@@ -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 (file)
index 0000000..23726b8
--- /dev/null
@@ -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 (file)
index 0000000..e551183
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (symlink)
index 0000000..a8a0ae6
--- /dev/null
@@ -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 (symlink)
index 0000000..4b9d9a4
--- /dev/null
@@ -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 (file)
index 0000000..bf85020
--- /dev/null
@@ -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 (file)
index 0000000..879b7b6
--- /dev/null
@@ -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 (file)
index 0000000..5c4c629
--- /dev/null
@@ -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 (file)
index 0000000..908b79e
--- /dev/null
@@ -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 (file)
index 0000000..a7ce214
--- /dev/null
@@ -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 (file)
index 0000000..22c3a3f
--- /dev/null
@@ -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 (file)
index 0000000..0ab9feb
--- /dev/null
@@ -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 (file)
index 0000000..3f53c20
--- /dev/null
@@ -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 (symlink)
index 0000000..ca99fee
--- /dev/null
@@ -0,0 +1 @@
+../../../../distros/supported/
\ No newline at end of file