如果文件存在,Ansible停止剧本

时间:2016-05-20 13:59:35

标签: ansible ansible-playbook

如果我的节点上有一个定义文件,并且还输出以解释剧本停止的原因,是否可以在执行期间停止播放本?

这是为了防止在已安装我的应用程序的节点上意外重新执行我的Playbook,因为我在此安装过程中生成了密码而且我不想重新初始化此密码。

1 个答案:

答案 0 :(得分:10)

您可以使用fail module通过自定义失败消息强制失败。

使用stat module将其与文件检查相结合,这对您来说应该很容易。

快速示例或一次运行的剧本可能如下所示:

- name: check for foo.conf
  stat: path=/etc/foo.conf
  register: foo

- name: fail if already run on host
  fail: msg="This host has already had this playbook run against it"
  when: foo.stat.exists

- name: create foo.conf
  file: path=/etc/foo.conf state=touch