У меня есть доступный playbook, который устанавливает общий ресурс nfs. Сначала он проверяет, существует ли целевой каталог:
- 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"
Это отлично работает при первом запуске playbook, но если я перезапущу его, он зависает на create /mnt/tmp
задача.
Я что делаю неправильно? Как мне отладить проблему?
Я изменил сценарий на это, и это "решило" проблему довольно нелегким образом:
- 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"
Конечно, есть способ получше.