script - introducción a ansible
¿Cómo puedo ejecutar una tarea ansible solo si un archivo o directorio NO existe? (2)
Esto es para lo que el parámetro creates
es perfecto para:
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71
args:
chdir: /opt
creates: /opt/jdk1.8.0_71
Ansible comprobará si existe /opt/jdk1.8.0_71
y solo ejecutará el comando si no existe.
Documentación: http://docs.ansible.com/ansible/command_module.html
En un libro de jugadas de Ansible quiero ejecutar tareas si no existe un directorio.
- name: Check for java exists in /opt
stat: path=/opt/jdk1.8.0_71
register: p
when: p.stat.isdir is defined and p.stat.isdir
Pero, ¿qué debo hacer para garantizar que las siguientes tareas se ejecuten solo si este directorio no existe?
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71 chdir=/opt
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71 chdir=/opt
when: not p.stat.exists