обернуть задание с двумя заданиями (включая условное) - PullRequest
0 голосов
/ 13 октября 2018

На моем сервере есть пара неизменяемых файлов, например, /etc/passwd.Это означает, что каждый раз, когда пользователь добавляется, редактируется или удаляется в системе (вручную, с помощью dpkg или любым другим способом), нам нужно запускать chattr -i /etc/passwd и chattr +i /etc/passwd до и после рассматриваемой команды.Проблема в том, что мы не всегда заранее знаем, что это произойдет.

Есть ли способ в ansible спланировать следующее в пьесе или роли:

  • выполнить задание
  • проверить, есть ли ошибка, например operation not permitted: <filename>
  • chattr -i <filename>
  • повторить задачу
  • chattr +i <filename> (даже если задача выдала другую ошибкуна этот раз)

В более общих чертах: возможно ли обернуть ответную задачу в две другие задачи?

Или, если я добавлю chattr +i в обработчик,Можно ли где-нибудь определить chattr -i и запустить его при необходимости?

...