]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
WIP: first implementation of functional tests 211/head
authorSébastien Han <sebastien.han@enovance.com>
Sun, 22 Feb 2015 01:31:28 +0000 (02:31 +0100)
committerSébastien Han <sebastien.han@enovance.com>
Sun, 22 Feb 2015 01:31:28 +0000 (02:31 +0100)
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
tests/README.md [new file with mode: 0644]
tests/validate-ceph.yml [new file with mode: 0644]
tests/validate-mds.yml [new file with mode: 0644]
tests/validate-mon.yml [new file with mode: 0644]
tests/validate-rados.yml [new file with mode: 0644]
tests/validate-rbd.yml [new file with mode: 0644]
tests/validate-rgw.yml [new file with mode: 0644]

diff --git a/tests/README.md b/tests/README.md
new file mode 100644 (file)
index 0000000..a660d65
--- /dev/null
@@ -0,0 +1,6 @@
+Functional tests
+================
+
+These playbooks aim to individually validate each Ceph component.
+Some of them require packages to be installed.
+Ideally you will run these tests from a client machine or from the Ansible server.
diff --git a/tests/validate-ceph.yml b/tests/validate-ceph.yml
new file mode 100644 (file)
index 0000000..3ef7394
--- /dev/null
@@ -0,0 +1,13 @@
+# This playbook tests a Ceph
+
+- hosts:
+  - osds
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: foo
+    command: bar
+    delegate_to: foobar
diff --git a/tests/validate-mds.yml b/tests/validate-mds.yml
new file mode 100644 (file)
index 0000000..c397869
--- /dev/null
@@ -0,0 +1,14 @@
+---
+# This playbook tests a Ceph Metadata server
+
+- hosts:
+  - mdds
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: foo
+    command: bar
+    delegate_to: foobar
diff --git a/tests/validate-mon.yml b/tests/validate-mon.yml
new file mode 100644 (file)
index 0000000..b667327
--- /dev/null
@@ -0,0 +1,14 @@
+---
+# This playbook tests a Ceph monitor
+
+- hosts:
+  - mons
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: foo
+    command: bar
+    delegate_to: foobar
diff --git a/tests/validate-rados.yml b/tests/validate-rados.yml
new file mode 100644 (file)
index 0000000..f0dfc2e
--- /dev/null
@@ -0,0 +1,32 @@
+---
+# This playbook tests a Ceph object storage daemon
+
+- hosts:
+  - 127.0.0.1
+  roles: ceph-common
+  sudo: True
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: Fetch ceph.conf and admin keyring
+    fetch: >
+      src=/etc/ceph/ceph.client.admin.keyring
+      dest=/etc/ceph/ceph.client.admin.keyring
+      fail_on_missing=yes
+
+  - name: Create working directory
+    command: mktemp
+    register: tmp_work_dir
+
+  - name: Create a file
+    command: dd if=/dev/zero of={{ tmp_work_dir.stdout }}/foobar count=1 bs=1M
+
+  - name: Create an object
+    command: rados -p rbd put foobar.object {{ tmp_work_dir.stdout }}/foobar
+    delegate_to: foobar
+
+  - name: Get an object
+    command: rados -p rbd get foobar.object {{ tmp_work_dir.stdout }}/foobar.file
diff --git a/tests/validate-rbd.yml b/tests/validate-rbd.yml
new file mode 100644 (file)
index 0000000..67eddc8
--- /dev/null
@@ -0,0 +1,13 @@
+---
+# This playbook tests a Ceph object storage daemon
+
+- hosts:
+  - osds
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: Create a RBD image
+    command: rbd create -s 10240 foobar
diff --git a/tests/validate-rgw.yml b/tests/validate-rgw.yml
new file mode 100644 (file)
index 0000000..a241232
--- /dev/null
@@ -0,0 +1,14 @@
+---
+# This playbook tests a Ceph monitor
+
+- hosts:
+  - rgws
+
+  vars:
+    foo: bar
+
+  tasks:
+
+  - name: foo
+    command: bar
+    delegate_to: foobar