Usando set_facts y with_items juntos en Ansible

Actualmente estoy usando Ansible 1.7.2. Tengo el siguiente libro de jugadas de prueba:

---
- 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

La primera tarea establece un hecho que es una lista con un elemento. Las tareas posteriores se agregan a esa lista con más valores. Las primeras tres tareas funcionan como se esperaba, pero la última no. Aquí está la salida cuando ejecuto esto:

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

Dados los elementos with_items en la tarea 4 y el hecho de que la salida muestra la tarea correctamente iterada sobre los elementos en esa lista, hubiera esperado que el resultado contuviera todos los números del cero al seis. Pero esa última tarea parece solo evaluar set_fact con el último elemento de la lista. ¿Es esto posiblemente un error en Ansible?

Editar: También acabo de probar esto en ansible 1.8 y la salida fue idéntica.

Respuestas a la pregunta(5)

Su respuesta a la pregunta