mirror of https://github.com/ansible/ansible.git
fixes for stripping (#52930)
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior attempt to fix #52910 * handle lists and subdicts correctly * added missing exception case, which was not noticed since 'cleaning' was not working * added comments to clarify exceptionspull/53714/head
parent
7a387e216e
commit
b793f08a92
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- change function to in place replacement, compose with module_args_copy for 'new clean copy'
|
||||
- avoid making multiple 'sub copies' when traversing already 'clean copy' of dict
|
@ -0,0 +1 @@
|
||||
shippable/posix/group2
|
@ -0,0 +1,23 @@
|
||||
- name: loop_control/label https://github.com/ansible/ansible/pull/36430
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- 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 }}"
|
||||
#
|
||||
# - assert:
|
||||
# that:
|
||||
# - "output.results[0]['_ansible_item_label'] == 'looped_var foo_label'"
|
||||
# - "output.results[1]['_ansible_item_label'] == 'looped_var bar_label'"
|
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
# user output has:
|
||||
#ok: [localhost] => (item=looped_var foo_label) => {
|
||||
#ok: [localhost] => (item=looped_var bar_label) => {
|
||||
MATCH='foo_label
|
||||
bar_label'
|
||||
[ "$(ansible-playbook label.yml "$@" |grep 'item='|sed -e 's/^.*(item=looped_var \(.*\)).*$/\1/')" == "${MATCH}" ]
|
||||
|
Loading…
Reference in New Issue