Eu tenho um playbook ansible que monta um compartilhamento nfs. Primeiro, ele garante que o diretório de destino exista:
- name: create /mnt/tmp
file: path=/mnt/tmp
recurse=yes
state=directory
- name: mount nfs
mount: src=10.0.0.2:/data/apache/htdocs
name=/mnt/tmp
fstype=nfs
fstab=/etc/fstab
state=mounted
opts="user,rw,hard,intr,auto"
Isso funciona bem na primeira vez que eu executo o manual, mas se eu reexecutá-lo ele trava na tarefa create /mnt/tmp
.
Estou fazendo errado? Como depuro o problema?
Eu mudei o manual para isso e isso "resolveu" o problema de uma forma bastante deselegante:
- name: check if /mnt/tmp exists
stat: path=/mnt/tmp
register: p
- name: create /mnt/tmp
when: not p.stat.exists
file: path=/mnt/tmp
recurse=yes
state=directory
- name: mount nfs
mount: src=10.0.0.2:/data/apache/htdocs
name=/mnt/tmp
fstype=nfs
fstab=/etc/fstab
state=mounted
opts="user,rw,hard,intr,auto"
Certamente há uma maneira melhor.