tower playbooks playbook group_vars ansible ansible-playbook

playbooks - ansible tower



ansible: compruebe si el archivo existe en la máquina*local* (1)

Delegar las tareas a localhost a través de la instrucción local_action debe hacer lo que desee:

- name: Check for ~/.blah/config local_action: stat path=/home/ubuntu/.blah/config register: stat_blah_config

Tengo una situación en la que necesito verificar el estado de un archivo en la máquina local (la que llamaré ansible-playbook ... ).

Si existe un archivo creado por el usuario, debe copiarse a los hosts remotos. Si no existe, entonces ninguno de los hosts remotos lo necesita.

Sé que he hecho cosas como:

- name: Check for ~/.blah/config stat: path=/home/ubuntu/.blah/config register: stat_blah_config - name: Do something with blah config shell: ~/do_something_with_config.sh when: stat_aws_config.stat.exists == true

Pero eso solo funcionará si el archivo existe remotamente. ¿Hay una manera de ejecutar condicionalmente una tarea (como una copia) solo si el archivo existe localmente (hacer que la stat en la primera tarea se ejecute localmente en lugar de en forma remota), y fallar silenciosamente si no lo hace? No estoy seguro de si ansible tenga este tipo de funcionalidad, pero sería útil.