mirror of https://github.com/ansible/ansible.git
Prevent vars premature templating (#56117)
Avoid premature vars templating * added tests * avoid 'is template' warning in vars, since we want them for latter templatingpull/56881/head
parent
3095df099d
commit
1da47bfa8c
@ -0,0 +1,2 @@
|
|||||||
|
bugfixes:
|
||||||
|
- we don't really need to template vars on definition as we do this on demand in templating.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
shippable/posix/group3
|
||||||
@ -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 "$@"
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- debug:
|
||||||
|
vars:
|
||||||
|
mytest: '{{ und }}'
|
||||||
@ -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']
|
||||||
Loading…
Reference in New Issue