blob: 430ac91777635e924973578294f4fd72d1313da9 (
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
|
# UNICODE
# https://github.com/ansible/ansible/issues/65297
- name: get UNICODE_VAR environment var value
shell: "echo $UNICODE_VAR"
register: unicode_var_value
- name: verify the UNICODE_VAR is defined
assert:
that:
- "unicode_var_value.stdout"
- name: use env lookup to get UNICODE_VAR value
set_fact:
test_unicode_val: "{{ lookup('env', 'UNICODE_VAR') }}"
- debug: var=unicode_var_value
- debug: var=test_unicode_val
- name: compare unicode values
assert:
that:
- "test_unicode_val == unicode_var_value.stdout"
# LOOKUP TEMPLATING
- name: use bare interpolation
debug: msg="got {{item}}"
with_items: "{{things1}}"
register: bare_var
- name: verify that list was interpolated
assert:
that:
- "bare_var.results[0].item == 1"
- "bare_var.results[1].item == 2"
- name: use list with bare strings in it
debug: msg={{item}}
with_items:
- things2
- things1
- name: use list with undefined var in it
debug: msg={{item}}
with_items: "{{things2}}"
ignore_errors: True
# BUG #10073 nested template handling
- name: set variable that clashes
set_fact:
PATH: foobar
- name: get PATH environment var value
set_fact:
known_var_value: "{{ lookup('pipe', 'echo $PATH') }}"
- name: do the lookup for env PATH
set_fact:
test_val: "{{ lookup('env', 'PATH') }}"
- debug: var=test_val
- name: compare values
assert:
that:
- "test_val != ''"
- "test_val == known_var_value"
- name: set with_dict
shell: echo "{{ item.key + '=' + item.value }}"
with_dict: "{{ mydict }}"
# BUG #34144 bad template caching
- name: generate two random passwords
set_fact:
password1: "{{ lookup('password', '/dev/null length=20') }}"
password2: "{{ lookup('password', '/dev/null length=20') }}"
# If the passwords are generated randomly, the chance that they
# coincide is neglectable (< 1e-18 assuming 120 bits of randomness
# per password).
- name: make sure passwords are not the same
assert:
that:
- password1 != password2
# 77788 - KeyError when wantlist=False with dict returned
- name: Test that dicts can be parsed with wantlist false
set_fact:
dict_wantlist_true: "{{ lookup('77788', wantlist=True) }}"
dict_wantlist_false: "{{ lookup('77788', wantlist=False) }}"
- assert:
that:
- dict_wantlist_true is mapping
- dict_wantlist_false is string
- include_tasks: ./errors.yml
|