mirror of https://github.com/ansible/ansible.git
Don't mutate templar.environment, only overlay on local myenv (#81005)
parent
cf803d6d58
commit
73e04ef2d6
@ -0,0 +1,2 @@
|
|||||||
|
bugfixes:
|
||||||
|
- templating - In the template action and lookup, use local jinja2 environment overlay overrides instead of mutating the templars environment
|
@ -0,0 +1,4 @@
|
|||||||
|
var_a: << var_a >>
|
||||||
|
var_b: << var_b >>
|
||||||
|
var_c: << var_c >>
|
||||||
|
var_d: << var_d >>
|
@ -1,28 +0,0 @@
|
|||||||
- hosts: localhost
|
|
||||||
gather_facts: false
|
|
||||||
vars:
|
|
||||||
var_a: "value"
|
|
||||||
var_b: "{{ var_a }}"
|
|
||||||
var_c: "<< var_a >>"
|
|
||||||
tasks:
|
|
||||||
- set_fact:
|
|
||||||
var_d: "{{ var_a }}"
|
|
||||||
|
|
||||||
- block:
|
|
||||||
- template:
|
|
||||||
src: in_template_overrides.j2
|
|
||||||
dest: out.txt
|
|
||||||
|
|
||||||
- command: cat out.txt
|
|
||||||
register: out
|
|
||||||
|
|
||||||
- assert:
|
|
||||||
that:
|
|
||||||
- "'var_a: value' in out.stdout"
|
|
||||||
- "'var_b: value' in out.stdout"
|
|
||||||
- "'var_c: << var_a >>' in out.stdout"
|
|
||||||
- "'var_d: value' in out.stdout"
|
|
||||||
always:
|
|
||||||
- file:
|
|
||||||
path: out.txt
|
|
||||||
state: absent
|
|
@ -0,0 +1,38 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
gather_facts: false
|
||||||
|
vars:
|
||||||
|
output_dir: "{{ lookup('env', 'OUTPUT_DIR') }}"
|
||||||
|
var_a: "value"
|
||||||
|
var_b: "{{ var_a }}"
|
||||||
|
var_c: "<< var_a >>"
|
||||||
|
tasks:
|
||||||
|
- set_fact:
|
||||||
|
var_d: "{{ var_a }}"
|
||||||
|
|
||||||
|
- template:
|
||||||
|
src: in_template_overrides.j2
|
||||||
|
dest: '{{ output_dir }}/in_template_overrides.out'
|
||||||
|
|
||||||
|
- template:
|
||||||
|
src: arg_template_overrides.j2
|
||||||
|
dest: '{{ output_dir }}/arg_template_overrides.out'
|
||||||
|
variable_start_string: '<<'
|
||||||
|
variable_end_string: '>>'
|
||||||
|
|
||||||
|
- command: cat '{{ output_dir }}/in_template_overrides.out'
|
||||||
|
register: in_template_overrides_out
|
||||||
|
|
||||||
|
- command: cat '{{ output_dir }}/arg_template_overrides.out'
|
||||||
|
register: arg_template_overrides_out
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "'var_a: value' in in_template_overrides_out.stdout"
|
||||||
|
- "'var_b: value' in in_template_overrides_out.stdout"
|
||||||
|
- "'var_c: << var_a >>' in in_template_overrides_out.stdout"
|
||||||
|
- "'var_d: value' in in_template_overrides_out.stdout"
|
||||||
|
|
||||||
|
- "'var_a: value' in arg_template_overrides_out.stdout"
|
||||||
|
- "'var_b: value' in arg_template_overrides_out.stdout"
|
||||||
|
- "'var_c: << var_a >>' in arg_template_overrides_out.stdout"
|
||||||
|
- "'var_d: value' in arg_template_overrides_out.stdout"
|
Loading…
Reference in New Issue