Выбор ответа Senior Ansible обновлено

Безопасная выкладка конфига

Вопрос

Шаблон nginx.conf иногда получается битым, и после reload nginx падает. Как защититься на уровне задачи?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: validate: nginx -t -c %s у template: файл проверяется до замены. validate запускает команду на временном файле и не заменяет рабочий конфиг, если проверка упала. ignoreerrors спрячет падение nginx, а сайт всё равно ляжет. lineinfile не делает конфиг корректнее.

Варианты ответа

  1. ignore_errors: true у handler перезапуска nginx
  2. Писать конфиг построчно модулем lineinfile вместо template
  3. Добавить retries: 3 и until к задаче с шаблоном
  4. validate: nginx -t -c %s у template: файл проверяется до заменыправильный ответ

Разбор

validate запускает команду на временном файле и не заменяет рабочий конфиг, если проверка упала. ignore_errors спрячет падение nginx, а сайт всё равно ляжет. lineinfile не делает конфиг корректнее. Повторы не исправят синтаксическую ошибку.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.