Linux Labs

Автоматизация: Git и Ansible / Ступень 7 из 8 · шаг 5 из 6

Роль не применяется

средняя ~30 мин
Не запущена Запускается обычно ~20 с
Сообщить о проблеме

Ситуация

Страница статуса нужна теперь на всех магазинах сети, и Тимур не стал копировать плейбук. Он вынес задачи плейбука магазина «Юг» в роль status_board, а для каждого магазина оставил короткий site.yml: свои заголовок и порт в vars: и строка roles:. На этой машине — магазин «Север», проект в ~/status-board. ansible-playbook site.yml здесь падает.

Задача

Почини роль roles/status_board так, чтобы site.yml сам приводил эту машину (localhost из inventory.ini) в нужное состояние:

  1. ansible-playbook site.yml проходит без ошибок.
  2. Настройки /etc/status/status.ini собраны по шаблону роли status.ini.j2 с заголовком и портом из site.yml: владелец root, группа status, права 0640.
  3. Служба lab-status запущена, включена при загрузке и отвечает: curl http://127.0.0.1:8096/ — заголовок «Магазин «Север»: статус витрины».
  4. Службу перезапускает прогон, который поменял настройки, а прогон без изменений её не трогает.
  5. Повторный запуск плейбука ничего не меняет: в итоге changed=0.

«Проверить» прогоняет плейбук сам. Сначала убирает то, что делает роль: службу lab-status с юнитом, /etc/status, /var/lib/status и пользователя status. Потом от твоего имени запускает ansible-playbook site.yml из ~/status-board дважды, правит руками строку title в /etc/status/status.ini и запускает в третий раз — служба должна перезапуститься. Последний прогон — --check --diff на копии проекта, где в site.yml другие заголовок и порт: настройки должны получить их. Поэтому всё должна делать роль — настроенное руками проверка уберёт.

Значения в site.yml, приложение и файл юнита lab-status.service роли не меняй.

Запуск: cd ~/status-board && ansible-playbook site.yml. Что в роли — find roles -type f. Интернета на машине нет.

Видна только тебе. Сохраняется при вводе.

Все заметки

Цели лабы

0 из 5
  • ansible-playbook site.yml проходит без ошибок на машине без страницы статуса — ещё не проверялась
  • /etc/status/status.ini собран по шаблону роли со значениями из site.yml (root:status, 0640) — ещё не проверялась
  • Служба lab-status запущена, включена при загрузке и отвечает на http://127.0.0.1:8096/ заголовком из site.yml — ещё не проверялась
  • Служба перезапускается, когда прогон поменял настройки, и только тогда — ещё не проверялась
  • Повторный прогон ничего не меняет — changed=0 — ещё не проверялась

Подсказки

открыто 0 из 3 · открываются по одной
Подсказка 1
Показать решение после 3 неудачных проверок

Выйти из лабы?

Машина проработает ещё 10 минут и удалится. Файлы пропадут, выполненные цели останутся.

Загрузка…