Vladislav 👻
т.е. service1.yml и service2.yml - это тоже название группы?
Artur
service1.yml на схеме это плейбук
Vladislav 👻
он лежит в папке group_vars
Vladislav 👻
какой плейбук, тем более когда плейбуки в другом месте
Artur
а. не туда глянул
Artur
получается да
Artur
это имена групп
Павел П.
я думаю всё свой, надо почитать апи от заббикса
с заббиксом все просто. щас запнулся на авторизации в awx. Authentication credentials were not provided - и вот понимай что это значит и как токен получать)
Vladislav 👻
это имена групп
т.е. получается, можно сделать рекурсию? о_0
Artur
какую ?
Vladislav 👻
если group1=service1 например
Vladislav 👻
то рекурсия, которую непонятно как разберет ansible
Павел П.
https://github.com/ansible/ansible/blob/devel/contrib/inventory/zabbix.py А это чем не устраивает?
Вижу получение списка серверов с заббикса. Не вижу его загрузки в ансибл.
manefesto
надо посмотреть как работает этот dynamic inventory, может ему в json надо
Павел П.
но скорее просто чего-то не понимаю (не программист)
matt
т.е. service1.yml и service2.yml - это тоже название группы?
это просто файлы с переменными, они мержатся
Artur
о какой рекурсии речь ?
Alex
В качестве инвентори файла указываешь этот скрипт, он отрабатывает как динамик инвентори и выдаёт ансиблу все хосты из заббикса. Кешей правда нет и я бы дописал их.
Vladislav 👻
это просто файлы с переменными, они мержатся
т.е. это визуальное обозначение, а не требование ansible?
matt
не понял вопрос
Vladislav 👻
вопрос простой, как мне называть эти service[1-2]?
Artur
имя группы должно совпадать с именем файла переменных для группы, это требование
Artur
да как угодно
Vladislav 👻
это обязательно название группы/хоста или же от балды и ansible просто сам все файлы в папке подтянет
Vladislav 👻
да хоть один common.yml укажи
ничем не отличается от group.yml
Vladislav 👻
смысл тогда групповых папок
Artur
matt
Vladislav 👻
я рад, что вам нравится мой вопрос, на который нет очевидного ответа для новичка
matt
all - это имя "встроенной" группы
Artur
какой вопрос, таков и ответ
Artur
https://youtu.be/Ck1SGolr6GI
Artur
посмотри
Artur
для начала
Vladislav 👻
все посмотрел
Artur
тогда что за вопрос такой ?
matt
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#splitting-out-host-and-group-specific-data
Vladislav 👻
я пытаюсь понять, как мне группировать хосты и по какому признаку
matt
по какому захочешь
Artur
любом
Artur
linux,nginx,apache,smb и бла бла бла
Vladislav 👻
блин, это вам все очевидно сейчас, а мне вот ничерта не понятно
Artur
ты точно видео смотрел ?
Vladislav 👻
и не раз
matt
любая группа может содержать хосты другой группы
Vladislav 👻
это я понимаю
matt
группируй по ролям, которые применяются на эти группы хостов
Vladislav 👻
эммм
Vladislav 👻
что?
matt
что?
Vladislav 👻
Vladislav 👻
оба хоста - это один сервис, т.е. я делаю еще одну группу с обоими хостами?
Vladislav 👻
когда у меня будет больше хостов в каждой из этих двух групп, то получается, мне надо будет на каждую пару создавать очередную группу?
Artur
можеш сделать общую группу для эти двух групп ( текущих)
Artur
файл переменных назвать именем общей группы
Artur
и все они будут доступны всех хостам в любой из двух групп
Artur
да и в общей группе ( если туда запихнуть хост ) тоже они будут доступны
Vladislav 👻
Vladislav 👻
т.е. вот так потенциально?
matt
какое ТЗ вообще?
Artur
Vladislav 👻
как мне при таком раскладе манипулировать как аппликейшен-приложениями, так и сервис-приложениями?
Vladislav 👻
xz1 никак не связан с другими xz
Vladislav 👻
не корректно их все в одну группу, ибо логины-пароли разные
Anton
Врде всё правильно же сделал, теперь у тебя в group_vars для xz* лежат логины-пароли, а в group_vars для rabbitmq - переменные для конфигурации всех rabbitmq.
Anton
В итоге rmq-prod1 будет иметь переменные из xz1 и rabbitmq.
Николай 🌵
всем привет. передаю в плейбук с помощью ключа --extra-vars ключ pkg с каким-то значением и нужно в плейбуке сделать проверку, если данная переменная передаёться - выполнить плейбук если нет то вывести информацию на экран. Подскажите как можно это реализовать
Artur
ну или в блок всё запихнуть
Николай 🌵
во всех тасках придётся делать when
как сделать эту проверку ?
Николай 🌵
when: ?????