Bienvenido a proyecto on line, en este sitio hallarás la resolución que estás buscando.
Solución:
Con Ansible 2.0+, puede actualizar su inventario a mitad del juego ejecutando la tarea:
- meta: refresh_inventory
Encontré el meta: refresh_inventory
ser insuficiente.
Tuve que agregar una llamada explícita a ec2.py --refresh-cache
primero.
- name: refresh inventory hosts: localhost connection: local gather_facts: False tasks: - name: Refresh EC2 cache command: /etc/ansible/ec2.py --refresh-cache - name: Refresh in-memory EC2 cache meta: refresh_inventory
Ansible actualmente no es compatible con esto. Si nos fijamos en el código fuente de la ansible
o ansible-playbook
comandos verá que el inventario se carga primero y luego el objeto de inventario se pasa al comando ansible que ejecuta la tarea o libro de jugadas especificado. Mover el procesamiento del inventario para que suceda dentro de los controladores de tareas/libros de jugadas probablemente sería una tarea bastante importante por varias razones.
Su mejor apuesta cuando hace algo como esto es simplemente dividir su libro de jugadas en dos y envolver sus llamadas en un script de shell que solo tiene que invocar una vez.
Puedes añadir valor a nuestra información contribuyendo tu veteranía en las anotaciones.