diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 000000000..a660d6580 --- /dev/null +++ b/tests/README.md @@ -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 index 000000000..3ef739499 --- /dev/null +++ b/tests/validate-ceph.yml @@ -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 index 000000000..c397869d5 --- /dev/null +++ b/tests/validate-mds.yml @@ -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 index 000000000..b66732715 --- /dev/null +++ b/tests/validate-mon.yml @@ -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 index 000000000..f0dfc2e6a --- /dev/null +++ b/tests/validate-rados.yml @@ -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 index 000000000..67eddc8bc --- /dev/null +++ b/tests/validate-rbd.yml @@ -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 index 000000000..a241232df --- /dev/null +++ b/tests/validate-rgw.yml @@ -0,0 +1,14 @@ +--- +# This playbook tests a Ceph monitor + +- hosts: + - rgws + + vars: + foo: bar + + tasks: + + - name: foo + command: bar + delegate_to: foobar