>_ IzzyLab

Практическое задание

Ansible: handler по изменению

сложно

Напиши плейбук /root/handler.yml: задача создаёт файл /etc/svc.conf (модуль copy) и по его изменению уведомляет handler, который создаёт файл-маркер /var/run/reloaded. После прогона должны существовать оба файла.

Что потренируешь:
  • ansible
  • handlers
  • notify
  • модуль copy
  • идемпотентность

Разбор темы

Handler в Ansible — особая задача, которая выполняется не сама по себе, а только когда обычная задача уведомила её через notify. Типичный паттерн: задача изменила конфиг и попросила handler перезапустить сервис; если же благодаря идемпотентности ничего не поменялось, handler не сработает. Секция handlers: живёт на одном уровне с tasks:, а строка в notify должна дословно совпадать с name хендлера — иначе Ansible его не найдёт.

Что проверяется

  1. плейбук /root/handler.yml проходит syntax-check
  2. созданы /etc/svc.conf и маркер /var/run/reloaded

Как это выглядит