ansible 在检查目录时挂起

ansible 在检查目录时挂起

我有一个安装 nfs 共享的 ansible playbook。它首先确保目标目录存在:

  - 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"

第一次运行剧本时,它运行正常,但如果我重新运行它,它就会挂起任务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"

肯定有更好的方法。

相关内容