Use loop_control.loop_var directly
6eefc11c
converted task.loop_control into an object, but while the other callers were updated to use .loop_var instead of .get('loop_var'), this site was overlooked. This can be reproduced by including with loop_control a file that does set_fact; a simple regression test along these lines is included. (cherry picked from commit950cc26aab
)
This commit is contained in:
parent
b5b8a756fc
commit
cc71765d9e
4 changed files with 12 additions and 1 deletions
|
@ -173,7 +173,7 @@ class ResultProcess(multiprocessing.Process):
|
||||||
# if this task is registering facts, do that now
|
# if this task is registering facts, do that now
|
||||||
loop_var = 'item'
|
loop_var = 'item'
|
||||||
if result._task.loop_control:
|
if result._task.loop_control:
|
||||||
loop_var = result._task.loop_control.get('loop_var') or 'item'
|
loop_var = result._task.loop_control.loop_var or 'item'
|
||||||
item = result_item.get(loop_var, None)
|
item = result_item.get(loop_var, None)
|
||||||
if result._task.action == 'include_vars':
|
if result._task.action == 'include_vars':
|
||||||
for (key, value) in iteritems(result_item['ansible_facts']):
|
for (key, value) in iteritems(result_item['ansible_facts']):
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
- include: test_includes2.yml parameter1=asdf parameter2=jkl
|
- include: test_includes2.yml parameter1=asdf parameter2=jkl
|
||||||
|
|
||||||
|
- include: test_includes3.yml
|
||||||
|
|
7
test/integration/test_includes3.yml
Normal file
7
test/integration/test_includes3.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
tasks:
|
||||||
|
- include: test_includes4.yml
|
||||||
|
with_items: ["a"]
|
||||||
|
loop_control:
|
||||||
|
loop_var: r
|
2
test/integration/test_includes4.yml
Normal file
2
test/integration/test_includes4.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- set_fact:
|
||||||
|
p: 1
|
Loading…
Reference in a new issue