Почему new_list тоже не объединяется?
---
- hosts: localhost
gather_facts: False
tasks:
- name: Set init list
set_fact:
init_list:
- 1
- 2
- 3
- name: New list from with_items
set_fact:
new_list: "{{ new_list|default([]) + [ item ] }}"
with_items: "{{ init_list }}"
- debug:
var: new_list
Когда я запускаю этот короткий скрипт, я получаю следующий вывод:
TASK [Set init list]
*************************************************************************
ok: [localhost]
TASK [New list from with_items]
*************************************************************************
ok: [localhost] => (item=1)
ok: [localhost] => (item=2)
ok: [localhost] => (item=3)
TASK [debug]
*************************************************************************
ok: [localhost] => {
"new_list": [
3
]
}
Я ожидаю, что new_list будет содержать 1,2, 3.Конкатенация работает, но каждый раз перезаписывается.Я был уверен, что это работало раньше (Ubuntu 16.04, не уверен в версии Ansible), и мне интересно, если это проблема версии Ansible.
# Ubuntu 18.04
# Ansible --version
ansible 2.5.1
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
Примечание: я знаю, что есть другие фильтры jinja2, которые потенциально могут работатьнапример, карту, список и т. д., но их нелегко применить в моем производственном коде.