Ansible остановить playbook, если файл присутствует

можно ли остановить playbook во время его выполнения, если на моем узле присутствует файл define, а также вывод, чтобы объяснить, почему playbook остановился?

это предотвратить случайное повторное выполнение моего playbook на узле, на котором уже установлено мое приложение, потому что я генерирую пароль во время этой установки, и я не хочу повторно инициализировать этот пароль.

1 ответов


можно использовать сбой модуля для принудительного сбоя с пользовательским сообщением об ошибке.

соедините это с проверкой файла, используя модуль stat, и это должно работать достаточно легко для вас.

быстрый пример или один план может выглядеть примерно так:

- 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