Совместное использование set_facts и with_items в Ansible

В настоящее время я использую Ansible 1.7.2. У меня есть следующий тестовый сборник:

---
- hosts: localhost
  tasks:
  - name: set fact 1
    set_fact: foo="[ 'zero' ]"

  - name: set fact 2
    set_fact: foo="{{ foo }} + [ 'one' ]"

  - name: set fact 3
    set_fact: foo="{{ foo }} + [ 'two', 'three' ]"

  - name: set fact 4
    set_fact: foo="{{ foo }} + [ '{{ item }}' ]"
    with_items:
      - four
      - five
      - six

  - debug: var=foo

Первая задача устанавливает факт, что это список с одним элементом. Последующие задачи добавляются в этот список с большим количеством значений. Первые три задачи работают как положено, но последнее - нет. Вот вывод, когда я запускаю это:

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

GATHERING FACTS ***************************************************************
ok: [localhost]

TASK: [set fact 1] ************************************************************
ok: [localhost]

TASK: [set fact 2] ************************************************************
ok: [localhost]

TASK: [set fact 3] ************************************************************
ok: [localhost]

TASK: [set fact 4] ************************************************************
ok: [localhost] => (item=four)
ok: [localhost] => (item=five)
ok: [localhost] => (item=six)

TASK: [debug var=foo] *********************************************************
ok: [localhost] => {
    "foo": [
        "zero",
        "one",
        "two",
        "three",
        "six"
    ]
}

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

Учитывая with_items в задаче 4 и тот факт, что выходные данные показывают, что задача правильно повторена по элементам в этом списке, я ожидал бы, что результат будет содержать все числа от нуля до шести. Но эта последняя задача, похоже, оценивает set_fact только с последним элементом в списке. Это возможно ошибка в Ansible?

Редактировать: я также только что проверил это на ANSIBLE 1.8, и результат был идентичным.

Ответы на вопрос(1)

Ваш ответ на вопрос