Автоматизация: Git и Ansible / Ступень 5 из 6 · шаг 5 из 6
Недописанный плейбук
Ситуация
На серверах магазина нужна страница статуса. Приложение status-board уже установлено (/usr/local/bin/status-board),
но настраивать его руками на каждом сервере не хотят. Тимур начал плейбук Ansible в ~/status-board и не успел его
дописать: ansible-playbook site.yml сейчас падает.
Задача
Допиши site.yml так, чтобы он сам приводил эту машину (localhost из inventory.ini) в нужное состояние:
- Пользователь
status— системный, без входа в оболочку (задача для него в плейбуке уже есть). - Каталог данных
/var/lib/status: владелец и группаstatus, права0750. - Настройки
/etc/status/status.ini— из шаблонаtemplates/status.ini.j2с переменными изvars:плейбука: владелец root, группаstatus, права0640. - Служба
lab-status(юнит —files/lab-status.service) запущена, включена при загрузке и отвечает:curl http://127.0.0.1:8095/. - Повторный запуск плейбука ничего не меняет: в итоге
changed=0.
«Проверить» прогоняет плейбук сам. Сначала убирает то, что плейбук должен создать: службу lab-status с юнитом,
/etc/status, /var/lib/status и пользователя status. Потом дважды запускает ansible-playbook site.yml из
~/status-board от твоего имени. Поэтому всё должен делать плейбук — настроенное руками проверка уберёт.
Приложение, файл files/lab-status.service и переменные в vars: не меняй.
Запуск:
cd ~/status-board && ansible-playbook site.yml. Справка по модулю —ansible-doc file. Интернета на машине нет.
Цели лабы
0 из 5-
ansible-playbook site.yml проходит без ошибок на машине без страницы статуса — ещё не проверялась
-
Плейбук создаёт системного пользователя status и каталог /var/lib/status (status:status, 0750) — ещё не проверялась
-
/etc/status/status.ini собран по шаблону templates/status.ini.j2 (root:status, 0640) — ещё не проверялась
-
Служба lab-status запущена, включена при загрузке и отвечает на http://127.0.0.1:8095/ — ещё не проверялась
-
Повторный прогон ничего не меняет — changed=0 — ещё не проверялась