ansible-无法附加到with_items循环中的列表中

ansible-无法附加到with_items循环中的列表中,ansible,Ansible,以本剧本为例: --- - hosts: localhost gather_facts: no vars: in_list: - value1 - value2 - value3 final_list: [] tasks: - debug: var: in_list - name: parse list set_fact: final_list: "{{ final_

以本剧本为例:

---
- hosts: localhost
  gather_facts: no
  vars:
    in_list:
      - value1
      - value2
      - value3
    final_list: []

  tasks:

    - debug:
        var: in_list

    - name: parse list
      set_fact:
        final_list: "{{ final_list + [{'key': item}] }}"
      with_items: "{{ in_list }}"

    - debug:
        var: final_list
似乎在每次迭代中,最终的_列表都会被最后的set_事实替换所替换,也就是说,它不会在每个循环中附加到它

输出:

[root@optima-ansible ILIAS]# ansible-playbook append_to_list.yml 

PLAY [localhost] ****************************************************************************************************************************************************************************************************

TASK [debug] ********************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "in_list": [
        "value1", 
        "value2", 
        "value3"
    ]
}

TASK [parse list] ***************************************************************************************************************************************************************************************************
ok: [localhost] => (item=value1)
ok: [localhost] => (item=value2)
ok: [localhost] => (item=value3)

TASK [debug] ********************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "final_list": [
        {
            "key": "value3"
        }
    ]
}

PLAY RECAP **********************************************************************************************************************************************************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=0   

[root@optima-ansible ILIAS]# 
我使用的代码来自于此

我做错了什么

更新:我的设置:

[root@optima-ansible ILIAS]# ansible --version
ransible 2.5.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.14 (default, Mar 14 2018, 13:36:31) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
[root@optima-ansible ILIAS]# rpm -qa --last |  grep ansible
ansible-2.5.1-1.fc27.noarch                   Sun 22 Apr 2018 02:46:30 AM EEST
[root@optima-ansible ILIAS]# 

添加了一个答案来结束这个线程,我得到了Ansible团队对我在Github上打开的问题的正式回复。显然,他们已经知道了这一点,他们以重复的方式结束了我的问题,并将我重定向到以下2:


添加了一个答案来结束该线程,我从Ansible团队得到了关于我在Github上打开的问题的正式回复。显然,他们已经知道了这一点,他们以重复的方式结束了我的问题,并将我重定向到以下2:


即使来自的代码在我的ansible中也不起作用,如页面中所示,请尝试append_dict_v2.ymlyou是指我的ansible安装的错误吗?我正在使用fedora附带的版本,它的2.5.1添加到问题中以获得更好的可视性,然后在GitHub上发布一个问题,因为除2.5.1之外的所有其他版本都会产生您预期的结果。您是对的。使用ansible-2.5.0-1.el7.ans.noarch.rpm,代码按预期工作。而且它不是分布问题,这个问题可以使用2.5.1从中复制。我将打开问题并降级ansible以继续我的工作,我想:谢谢,我在2.5.1中遇到了同样的问题;更新到最新解决的ITE即使来自的代码在我的ansible中不起作用,如页面所示,请随意尝试append_dict_v2.ymlyou是指我的ansible安装的错误吗?我正在使用fedora附带的版本,它的2.5.1添加到问题中以获得更好的可视性,然后在GitHub上发布一个问题,因为除2.5.1之外的所有其他版本都会产生您预期的结果。您是对的。使用ansible-2.5.0-1.el7.ans.noarch.rpm,代码按预期工作。而且它不是分布问题,这个问题可以使用2.5.1从中复制。我将打开问题并降级ansible以继续我的工作,我想:谢谢,我在2.5.1中遇到了同样的问题;更新到最新解决方案