Do not cache the loop item label so that it will update with each item (#36609)
Add integration test for #36430 (#36432) (cherry picked from commitd1f76939e5
) (cherry picked from commit9fced4f0a9
)
This commit is contained in:
parent
b1e125b718
commit
ed9781bbfb
2 changed files with 27 additions and 1 deletions
|
@ -332,7 +332,7 @@ class TaskExecutor:
|
|||
res['_ansible_ignore_errors'] = task_fields.get('ignore_errors')
|
||||
|
||||
if label is not None:
|
||||
res['_ansible_item_label'] = templar.template(label)
|
||||
res['_ansible_item_label'] = templar.template(label, cache=False)
|
||||
|
||||
self._rslt_q.put(
|
||||
TaskResult(
|
||||
|
|
|
@ -176,3 +176,29 @@
|
|||
with_sequence: start=0 count=3
|
||||
loop_control:
|
||||
index_var: my_idx
|
||||
|
||||
#
|
||||
# loop_control/label
|
||||
# https://github.com/ansible/ansible/pull/36430
|
||||
#
|
||||
|
||||
- set_fact:
|
||||
loopthis:
|
||||
- name: foo
|
||||
label: foo_label
|
||||
- name: bar
|
||||
label: bar_label
|
||||
|
||||
- name: check that item label is updated each iteration
|
||||
debug:
|
||||
msg: "{{ looped_var.name }}"
|
||||
with_items: "{{ loopthis }}"
|
||||
loop_control:
|
||||
loop_var: looped_var
|
||||
label: "looped_var {{ looped_var.label }}"
|
||||
register: output
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "output.results[0]['_ansible_item_label'] == 'looped_var foo_label'"
|
||||
- "output.results[1]['_ansible_item_label'] == 'looped_var bar_label'"
|
||||
|
|
Loading…
Reference in a new issue