ansible/test/playbook1.yml
2013-10-11 19:12:25 -04:00

82 lines
2.1 KiB
YAML

# extremely simple test of the most basic of playbook engine/functions
---
- hosts: all
connection: local
# the 'weasels' string should show up in the output
vars:
answer: "Wuh, I think so, Brain, but if we didn't have ears, we'd look like weasels."
port: 5150
# we should have import events for common_vars and CentOS.yml (if run on CentOS)
# sorry, tests are a bit platform specific just for now
vars_files:
- common_vars.yml
- [ '{{facter_operatingsystem.yml}}', 'default_os.yml' ]
tasks:
- name: test basic success command
action: command true
- name: test basic success command 2
action: command true
- name: test basic shell, plus two ways to dereference a variable
action: shell echo $HOME {{port}}
- name: test vars_files imports
action: shell echo {{duck}} {{cow}} {{testing}}
# in the command below, the test file should contain a valid template
# and trigger the change handler
- name: test copy
action: copy src=sample.j2 dest=/tmp/ansible_test_data_copy.out
notify:
- on change 1
# this should trigger two change handlers, but the 2nd should
# not be triggered twice because it's already triggered
- name: test template
action: template src={{item}} dest=/tmp/ansible_test_data_template.out
first_available_file:
- nonexistantfile
- sample.j2
notify:
- on change 1
- on change 2
# there should be various poll events within the range
- name: async poll test
action: shell sleep 5
async: 10
poll: 3
# the following command should be skipped
- name: this should be skipped
action: shell echo 'if you see this, this is wrong'
when: 2 == 3
handlers:
# in the above test example, this should fire ONCE (at the end)
- name: on change 1
action: shell echo 'this should fire once'
# in the above test example, this should fire ONCE (at the end)
- name: on change 2
action: shell echo 'this should fire once also'
# in the above test example, this should NOT FIRE
- name: on change 3
action: shell echo 'if you see this, this is wrong'