148 lines
3.7 KiB
YAML
148 lines
3.7 KiB
YAML
- hosts: localhost
|
|
tasks:
|
|
- debug:
|
|
msg: Ansible version={{ ansible_version.major }}.{{ ansible_version.minor }}
|
|
|
|
- hosts: all
|
|
tasks:
|
|
# Create unwritable /tmp/console-None.log
|
|
# This ensures that no further task can write to it without failing.
|
|
# A task trying to write to /tmp/console-None.log is considered broken
|
|
# because zuul_log_id is missing.
|
|
- name: Create unwritable /tmp/console-None.log
|
|
file:
|
|
path: /tmp/console-None.log
|
|
state: touch
|
|
mode: 0444
|
|
run_once: True
|
|
|
|
- name: Start zuul_console daemon
|
|
zuul_console:
|
|
port: "{{ test_console_port }}"
|
|
|
|
# This is checked in indexed JSON output so order is important
|
|
- name: Output stream test
|
|
shell: |
|
|
echo "Standard output test {{ zuul.executor.src_root }}"
|
|
>&2 echo "Standard error test {{ zuul.executor.src_root }}"
|
|
|
|
- name: Create first file
|
|
copy:
|
|
content: "command test one\n"
|
|
dest: "{{ ansible_user_dir }}/command_test_file1"
|
|
- name: Create second file
|
|
copy:
|
|
content: "command test two\n"
|
|
dest: "{{ ansible_user_dir }}/command_test_file2"
|
|
- name: Show contents of first file
|
|
command: "cat {{ ansible_user_dir }}/command_test_file1"
|
|
- name: Show contents of second file
|
|
# We use a sleep here to ensure that we log even after
|
|
# a period of no logging.
|
|
shell: "sleep 6 && cat {{ ansible_user_dir }}/command_test_file2"
|
|
|
|
# Test a task with a handler
|
|
- name: Run a command with notifying a handler
|
|
command: /bin/true
|
|
notify: test handler
|
|
|
|
# Test cleanup task
|
|
- name: Block with cleanup
|
|
block:
|
|
- name: Run a command
|
|
command: /bin/false
|
|
rescue:
|
|
- name: Rescue task
|
|
command: echo "This is a rescue task"
|
|
always:
|
|
- name: Always task
|
|
command: echo "This is an always task"
|
|
|
|
- name: Skip command task
|
|
command: /bin/true
|
|
when: false
|
|
|
|
- name: Skip command task loop
|
|
command: /bin/true
|
|
when: false
|
|
with_items:
|
|
- failed_in_loop1
|
|
- failed_in_loop2
|
|
|
|
handlers:
|
|
- name: test handler
|
|
command: echo "This is a handler"
|
|
|
|
- hosts: all
|
|
strategy: free
|
|
tasks:
|
|
- name: Command task 1 within free strategy
|
|
command: echo "First free task"
|
|
- name: Command task 2 within free strategy
|
|
command: echo "Second free task"
|
|
|
|
# Test a role that has an include_role
|
|
- hosts: all
|
|
strategy: linear
|
|
roles:
|
|
- include-a-role
|
|
|
|
- hosts: compute1
|
|
tasks:
|
|
- name: Single command
|
|
command: "echo single"
|
|
# Test commands within loops
|
|
- name: Command with loop
|
|
shell: |
|
|
echo {{ item }}
|
|
with_items:
|
|
- item_in_loop1
|
|
- item_in_loop2
|
|
- name: Failing command with loop
|
|
shell: |
|
|
echo {{ item }}
|
|
exit 1
|
|
with_items:
|
|
- failed_in_loop1
|
|
- failed_in_loop2
|
|
ignore_errors: True
|
|
|
|
# Try transitive includes two different ways
|
|
- hosts: compute1
|
|
tasks:
|
|
- include_role:
|
|
name: include-echo-role
|
|
vars:
|
|
item: transitive-one
|
|
- include_role:
|
|
name: include-echo-role
|
|
vars:
|
|
item: transitive-two
|
|
|
|
- hosts: compute1
|
|
roles:
|
|
- role: include-echo-role
|
|
item: transitive-three
|
|
- role: include-echo-role
|
|
item: transitive-four
|
|
|
|
- hosts: compute1
|
|
tasks:
|
|
- name: Command Not Found
|
|
command: command-not-found
|
|
failed_when: false
|
|
|
|
- hosts: compute1
|
|
tasks:
|
|
|
|
- name: Debug raw variable in msg
|
|
debug:
|
|
msg: '{{ ansible_version }}'
|
|
|
|
- name: Debug raw variable in a loop
|
|
debug:
|
|
msg: '{{ ansible_version }}'
|
|
loop:
|
|
- 1
|
|
- 2
|