blob: ec84cf7841e971167f13ba70e0e2367670ada283 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
- 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 }}"
- 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"
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
- hosts: all
tasks:
- name: Remote shell task with python exception
command: echo foo
args:
chdir: /remote-shelltask/somewhere/that/does/not/exist
failed_when: false
- hosts: localhost
tasks:
- name: Local shell task with python exception
command: echo foo
args:
chdir: /local-shelltask/somewhere/that/does/not/exist
failed_when: false
|