Add test to the playbooks

Through Travis.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
pull/191/head
Sébastien Han 2015-01-21 09:59:42 +01:00
parent 4e95686eea
commit 2c1d98f07d
3 changed files with 46 additions and 0 deletions

35
.travis.yml 100644
View File

@ -0,0 +1,35 @@
---
language: python
python: "2.7"
env:
- SITE=test.yml
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y curl
install:
# Install Ansible.
- pip install ansible
# Add ansible.cfg to pick up roles path.
- "{ echo '[defaults]'; echo 'roles_path = ../'; } >> ansible.cfg"
script:
# Check the role/playbook's syntax.
- "ansible-playbook -i tests/inventory tests/$SITE --syntax-check"
# Run the role/playbook with ansible-playbook.
- "ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo"
# Run the role/playbook again, checking to make sure it's idempotent.
- >
ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo
| grep -q 'changed=0.*failed=0'
&& (echo 'Idempotence test: pass' && exit 0)
|| (echo 'Idempotence test: fail' && exit 1)
# Make sure Ansible is installed (yes, this is contrived, since Ansible was
# already installed via pip earlier...).
- "which ansible"

1
tests/inventory 100644
View File

@ -0,0 +1 @@
localhost

10
tests/test.yml 100644
View File

@ -0,0 +1,10 @@
---
- hosts: localhost
remote_user: root
roles:
- ceph-common
- ceph-mon
- ceph-osd
- ceph-mds
- ceph-radosgw
- haproxy