Concat Ansible списка содержит только последний элемент при использовании с циклом - PullRequest
1 голос
/ 18 июня 2019

[Закрыто] Это ошибка в Ansible v2.5.1, см. Комментарий ниже.

Я хочу создать новый список на основе словаря. Поэтому я пытаюсь использовать set_fact и loop, но переменная содержит только последнее значение (не список)

Я попробую более простой пример без словаря. Я использую этот веб-сайт: https://ttl255.com/ansible-appending-to-lists-and-dictionaries/. И он не работает, как ожидалось.

---
- name: Append to list
  hosts: localhost

  vars:
   devices: []
   cisco:
    - CiscoRouter01
    - CiscoRouter02
    - CiscoRouter03
    - CiscoSwitch01
   arista:
    - AristaSwitch01
    - AristaSwitch02
    - AristaSwitch03

  tasks:

  - name: Add Cisco and Airsta devices to the list
    set_fact:
     devices: "{{ devices + [item] }}"
    with_items:
     - "{{ cisco }}"
     - "{{ arista }}"

  - name: Debug list
    debug:
     var: devices
     verbosity: 0

Выписка из вывода:

TASK [Debug list] *********************************************************************************************************
ok: [localhost] => {
    "devices": [
        "AristaSwitch03"
    ]
}

Ожидаемое:

TASK [Debug list] *********************************************************************************************************
ok: [localhost] => {
    "devices": [
        "CiscoRouter01",
        "CiscoRouter02",
        "CiscoRouter03",
        "CiscoSwitch01",
        "AristaSwitch01",
        "AristaSwitch02",
        "AristaSwitch03"
    ]
}

Я использую ANSIBLE версию: 2.5.1

1 Ответ

0 голосов
/ 18 июня 2019

ошибка 2.5.1, вам придется обновить.

проверьте этот вопрос для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...