[IPT] Dmitry
Да, это годный вариант. Есть, к примеру, роль nginx - никто, кроме неё, не должен трогать конфиги nginx.
Так, кейс сложней. Есть роль сервера приложений, который хостит приложения. Для приложения есть отдельная роль, которая включает в себя роль сервера приложений, но может менять конфигурации сервера приложений, касающихся самого приложения. Это ведь норм?
Sergey
Что? Вот это не нормально. Плести межзависимости между ролями - портал в ад (виннипух.gif)
[IPT] Dmitry
Что? Вот это не нормально. Плести межзависимости между ролями - портал в ад (виннипух.gif)
А что именно не нормально? Каждое приложение требует однотипного сервера приложений, который идёт ролью и вызывается в роли приложения. Дальше идёт деплой приложения на этот сервер приложений и его настройка. Это как-то можно сделать более красиво и правильно?
[IPT] Dmitry
Вызывать роль из роли - фу (моё личное мнение)
Аргументы бы послушать хотел и альтернативы
Sergey
Аргументы бы послушать хотел и альтернативы
Я делаю такие штуки явно: вызов роли для middleware, потом для приложения.
Sergey
Ничего не потеряется.
[IPT] Dmitry
Я делаю такие штуки явно: вызов роли для middleware, потом для приложения.
Т.е. сам подход норм, но чтобы main.yml делал по очереди include_role для сервера и приложения?
Sergey
да не надо никого инклюдить. просто roles: - appserver - app
[IPT] Dmitry
да не надо никого инклюдить. просто roles: - appserver - app
Я это и имел в виду, но написал совсем другое 🤷‍♂😁
[IPT] Dmitry
А есть какие-нибудь мета-роли? Например, хочу роль os, включающую в себя метароли disk, со своими handlers и tasks
[IPT] Dmitry
Не для функционала, а для читаемости скорее. Показать, что они связаны?
Anton
коллеги, а делал кто-то подобное извращение: Вызвать по хосту роль которая добавит к себе в группу хостов и пробежится по ним заданиями. Смысл пробежаться по зависимым от мастер хоста хостам последовательно после того как на мастер хосте выполнятся задачи. Ну и фактически с мастер хоста и собрать хосты для добавления. Делал кто-то уже подобное?
Sergey
Но вот дядьки из Ансибла коллекции напилили, м.б. тебе туда.
[IPT] Dmitry
Я думаю, это всё очень спорно.
Например, приложение после установки должно установить и настроить jmx агента типового для мониторинга. По логике он должен быть где-то вместе с сервером приложений, а по факту будет отдельной ролью похоже
Alexander
коллеги, а делал кто-то подобное извращение: Вызвать по хосту роль которая добавит к себе в группу хостов и пробежится по ним заданиями. Смысл пробежаться по зависимым от мастер хоста хостам последовательно после того как на мастер хосте выполнятся задачи. Ну и фактически с мастер хоста и собрать хосты для добавления. Делал кто-то уже подобное?
Есть такая штука - динамический инвентарь, это любой исполняемый файл, возвращающий список хостов в определённом формате. Можно уже внутри этого скрипта дергать отдельный плейбук и форматировать его вывод. Или вообще этот скрипт может в себе никакого ансибла не содержать
Alexander
Ну можно конечно вернуть из задачи списком имена хостов и сделать loop с delegate_to: item
Alexander
Хотя не уверен что это будет работать
Alexander
Нашёл, наверное
Alexander
add_host – Add a host (and alternatively a group) to the ansible-playbook in-memory inventory
Alexander
Use variables to create new hosts and groups in inventory for use in later plays of the same playbook.
Sergey
А дата?
Aleksey
А дата?
уже закончился
Aleksey
он был сегодня
Denis 災 nobody
нормас, анонс был сегодня в 18
Sergey
нормас, анонс был сегодня в 18
жаль, здесь не было 😞
Denis 災 nobody
жаль, здесь не было 😞
обычно, такие вещи рекламят за несколько дней. Так что.. сами виноваты. Скоро обещали в записи.
Sergey
Это факт, да.
Sergey
А запись же есть уже прямо на твитче
Aleksey
они и были рекламлены за пару недель
Aleksey
просто оно было офлайн
Aleksey
а тут хоп и онлайн стало.
Sergey
Кароч - https://www.twitch.tv/videos/569778361, первый видос про Ансибл и Молекулу.
Denis 災 nobody
Всё льётся сюда уже https://www.youtube.com/channel/UCiwdUmcAXWYfi4co_R_qkjw
Sergey
Удалил оффтопик.
Denis 災 nobody
Sergey
Это твое?)
Не, это вон то событие, которое выше форвардили. Сюда форварда вовремя не было, поэтому смотрим в записи.
Sergey
О, кстати, я сообразил, что у меня есть платный Zoom, поэтому в ближайшее время позову желающих онлайн поговорить про Ансибл 😊
Sergey
Следите за объявлениями.
Андрей
Закрепляй сообщение в канале))
Sergey
Подготовлюсь - порекламлю 😊
Sergey
Есть какой то способ отобразить инвентори плагины которые включены по умолчанию? Как я понимаю конфигурация плагинов работает по вайтлисту, если оставляем дефолтно закомментированный блок инвентори, используются все дефолтные плагины, когда включаешь дополнительный, он становится единственным включенным и инвентори парситься отказывается. Хочу узнать какие дефолтные и добавить к ним новый в список
Sergey
Сугубо потому, что это дико низкоуровневая штука.
Anna
Jeff Geerling, автор большого количества ролей на Ansible Galaxy, в связи с коронавирусом выложил книги Ansible for DevOps и Ansible for Kubernetes бесплатно. Можно будет скачивать и все последующие обновления. https://www.jeffgeerling.com/blog/2020/you-can-get-my-devops-books-free-rest-month
rus
rus
ЛЕТОПИСЕЦ
Вячеслав
Как для модуля shell таймаут задать?
Lamobot
Как для модуля shell таймаут задать?
Можно использовать async: и poll: https://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html
Вячеслав
Тоесть я ставлю например асинк 10 минут и опрос каждые 10 сек ?
Sebor▂▅▇█▓▒░
!спам
Вячеслав
я понял, спс
Roman
добрый день есть вот такой таск: --- - hosts: all user: root tasks: - name: archive client and pki folder archive: path: - /etc/openvpn/client - /etc/openvpn/easy-rsa/3/pki dest: /tmp/key.zip format: zip - name: copy to sysadmin fetch: src: /tmp/key.zip dest: ~/ansible/files/ на выкоди получаю архив внутри которого есть папка client и easy-rsa. Вопрос как архивировать только папку pki? по первому пути ведь сохраняет корректно.
Roman
вопрос совсем простой или я его задаю не правильно???
Sergey
Исходники - лучшая дока.
Александр
чёто у меня при удалении пакетов плейбук виснет
Александр
заканчивает на "Escalation succeeded"
Александр
и всё на этом
Александр
...и тишинаааа :DDD
Александр
...и установка пакетов тоже вешает
Sergey
Репозиторий тухлый. Досыпь -vvvv в ключи запуска - сам всё увидишь.
Александр
я и досыпал
Александр
он эскалирует права и всё на этом
Александр
...но похоже да
Александр
плюс ещё какой-то процесс висел и блочил
Alex
TASK [common/jfmc : Add an Apt signing key for docker] *** [WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created with a mode of 0700, this may cause issues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions manually подскажите, как фиксить, причем возникает не всегда
Victor_sc120
поправить права ?
Victor_sc120
завести нового рута
Victor_sc120
и ансибл запускать он нового
Alex
а смысл?