Ansible: El módulo `add_host` solo se ejecuta una vez, en el primer host al que se aplica el juego

Creado en 14 abr. 2015  ·  3Comentarios  ·  Fuente: ansible/ansible

Tipo de problema:

Informe de error

Similar al informe # 9931

Versión Ansible:
  • Ansible 1.8.4 (HEAD separado ebc8d48d34) última actualización 2015/04/14 17:59:44 (GMT +000)
  • Ansible 1.9.0 (HEAD 717ffe2bea separado) última actualización 2015/04/14 17:58:24 (GMT +000)
  • Ansible 2.0.0 (devel 0345b675f8) última actualización 2015/04/14 17:27:56 (GMT +000)
    Medio ambiente:

Ubuntu 14.04

Resumen:

La tarea add_host solo se ejecuta en un solo host en la lista de hosts de una obra.

Pasos para reproducir:

libro de jugadas

---
- name: Environment group_vars
  hosts: all
  gather_facts: no
  tasks:

    - debug: var=inventory_hostname

    - name: Add to group
      add_host: name={{inventory_hostname}} groups={{env}}

- name: Groups
  hosts: all
  gather_facts: no
  tasks:
    - debug: var=group_names
    - debug: var=groups[env]
    - fail: msg="done"

archivo de inventario try.yml

10.0.0.70
10.0.1.171

ejecución

ansible-playbook -i ansible/try ansible/try.yml -e 'env=acceptance'

Resultados previstos:

Espero que la tarea que usa el módulo add_host , Agregar al grupo , se ejecute dos veces: una vez para cada host en la obra. Al final de la obra, cada anfitrión estaría en el grupo acceptance .

Resultados actuales:
PLAY [Environment group_vars] *************************************************

TASK: [debug var=inventory_hostname] ******************************************
ok: [10.0.0.70] => {
    "var": {
        "inventory_hostname": "10.0.0.70"
    }
}
ok: [10.0.1.171] => {
    "var": {
        "inventory_hostname": "10.0.1.171"
    }
}

TASK: [Add to group] **********************************************************
ok: [10.0.0.70]

PLAY [Groups] *****************************************************************                                                                                                                                                                                        [30/1905]

TASK: [debug var=group_names] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "group_names": [
            "acceptance",
            "ungrouped"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "group_names": [
            "ungrouped"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [fail msg="done"] *******************************************************
failed: [10.0.0.70] => {"failed": true}
msg: done
failed: [10.0.1.171] => {"failed": true}
msg: done

FATAL: all hosts have already failed -- aborting

Comentario más útil

@bcoca , ¿y si quiero agregar un nuevo host al inventario para cada host de otro grupo?

Todos 3 comentarios

Posible malentendido

¡Hola!

Muchas gracias por su envío a Ansible. Sinceramente, significa mucho para nosotros.

Creemos que la multa que ha presentado se está malinterpretando un poco, ya que una cosa funciona de manera un poco diferente a la indicada.

En particular, este es el comportamiento esperado, que se documenta en esta página (la nota):

http://docs.ansible.com/add_host_module.html#id3

En el futuro, este podría ser un tema más adecuado para la lista de usuarios, que también puede publicar aquí si desea obtener más ayuda con lo anterior.

¡Gracias una vez más por esto y su interés en Ansible!

en cualquier caso, no está agregando nuevos hosts al inventario, es posible que desee utilizar la directiva group_by en su lugar.

@bcoca , ¿y si quiero agregar un nuevo host al inventario para cada host de otro grupo?

¿Fue útil esta página
0 / 5 - 0 calificaciones