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:
Brian Coca
2019-05-23 09:42:19 -04:00
committed by GitHub
parent 3095df099d
commit 1da47bfa8c
6 changed files with 38 additions and 2 deletions

View File

@@ -0,0 +1 @@
shippable/posix/group3

View 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 "$@"

View File

@@ -0,0 +1,6 @@
- hosts: localhost
gather_facts: false
tasks:
- debug:
vars:
mytest: '{{ und }}'

View 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']