mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 05:42:50 +00:00
Prevent vars premature templating (#56117)
Avoid premature vars templating * added tests * avoid 'is template' warning in vars, since we want them for latter templating
This commit is contained in:
1
test/integration/targets/var_templating/aliases
Normal file
1
test/integration/targets/var_templating/aliases
Normal file
@@ -0,0 +1 @@
|
||||
shippable/posix/group3
|
||||
12
test/integration/targets/var_templating/runme.sh
Executable file
12
test/integration/targets/var_templating/runme.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
# this should succeed since we override the undefined variable
|
||||
ansible-playbook undefined.yml -i inventory -v "$@" -e '{"mytest": False}'
|
||||
|
||||
# this should still work, just show that var is undefined in debug
|
||||
ansible-playbook undefined.yml -i inventory -v "$@"
|
||||
|
||||
# this should work since we dont use the variable
|
||||
ansible-playbook undall.yml -i inventory -v "$@"
|
||||
6
test/integration/targets/var_templating/undall.yml
Normal file
6
test/integration/targets/var_templating/undall.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- debug:
|
||||
vars:
|
||||
mytest: '{{ und }}'
|
||||
13
test/integration/targets/var_templating/undefined.yml
Normal file
13
test/integration/targets/var_templating/undefined.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
- hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: show defined/undefined var
|
||||
debug: var=mytest
|
||||
vars:
|
||||
mytest: '{{ und }}'
|
||||
register: var_undefined
|
||||
|
||||
- name: ensure either mytest is defined or debug finds it to be undefined
|
||||
assert:
|
||||
that:
|
||||
- mytest is defined or 'VARIABLE IS NOT DEFINED!' in var_undefined['mytest']
|
||||
Reference in New Issue
Block a user