Timur
Чтобы что?
Anton
есть роль, которая в параметр хочет получить все хосты куда поставить себя
Timur
Andrey
Anton
mongodb_replication_params:
- { host_name: 192.168.56.2, host_port: "{{ mongodb_net_port }}", host_type: replica }
Anton
параметр из роли, роль самая популярная в гелекси (не уверен что самая правильная, но все же).
Anton
вот я не хочу прописывать руками туда ноды монги, а хочу взять их из инветори, из определнной группы.
Timur
Anton
https://galaxy.ansible.com/undergreen/mongodb
Anton
https://github.com/UnderGreen/ansible-role-mongodb
Andrey
В плейбук для группы указывают роль, а не наоборот
Timur
Anton
вопрос мой все же остается открытым)
Anton
несмотря на то что роль может быть так себе)
Nikolay
Кто знает, можно ли передавать в переменные multiline значения? Например в переменной указан маппинг портов ports: 8080:8080, я хочу, чтобы значение было вида
ports: 8080:8080
9090:9090
Andrey
Andrey
кхм
Andrey
ну если вам только готовые ответы и вы не умеете стирать лишнее ...
Anton
да конечно, только готовые, иначе зачем еще этот канал? 😉
Timur
Timur
И просто groups тоже не прокатит. Там словарь нужен
Andrey
ему надо передать список хостов как параметр для роли
Timur
Угу
Timur
Только не просто список, а список словарей
Andrey
ну так {{ groups['group_name'] }} это как раз оно
Timur
В принципе, эти словари можно в hostvars загнать теоретически. И тогда они через groups['blablabla'] должны подхватиться
Anton
Anton
спасибо в любом случае
Andrey
в доке есть прям пример {{ groups['x'] | map('extract', hostvars, 'ec2_ip_address') | list }}
Timur
Timur
Список словарей так сделать не получится
Anton
если кому интересно, то мне подошло это - https://stackoverflow.com/a/41807132
Timur
Timur
Или вы в претаски это засунуть хотите?
Anton
это не слишком зашквар? а то я не знаю хорошо еще канонов.
Timur
Timur
Нужно цикл другой
Timur
Вам же нужно не просто hostname и id в виде номера
Timur
а host_port, host_type и т.п.
Anton
Anton
т.е. для каждого хоста, тип и порт одинаковы, и в инвентори их нет, поэтому они и не нужны
Timur
Timur
А, ну ок
Timur
В любом случае, цикл по inventory_hostnames будет проще
Timur
А создание списка словарей делается также, да
дед Максим
Кстати всем спасибо) Дело было в древнсти аксамита. Удалось с линуха ансиблом рулить виндой. Но есть один вопрос.
На винде запускаю шельный скрипт, который поразумевает интерактив - нужно вводить пару параметров в ходе выполнения скрипта - так вот, реально ли интерактив прокинуть в ансибл? Или забыть про это?
Ждун
а если переделать скрипт, чтобы можно было вводить параметры к скрипту, а если не ввели, то интерактив
Ждун
а потом уже в ансибле запускать скрипт с параметрами
Timur
nett00n
дед Максим
это основной вариант) Ща скрипт переделаем.
В ансибле скрипт запускать с уже готовыми параметрами.
Просто думал, что реально как то интерактив настроить, но погулив - понял, что скорее всего не получится..
Timur
Timur
Oleksandr
Andrey
Andrey
проще переделать
дед Максим
Anonymous
Никто не сталкивался с некорректной работой Galaxy? Импортирую роль с гитхаба, пишет что прошло успешно, делаю ansible-galaxy install user.role и в скачанной роли нет моих последних изменений. Хотя в самом Галакси (например в ридми к роли) все корректно
George
Anonymous
а какие изменения есть?
Изначально форкнул чужую репу и ее заимпортил. И после этого коммитил, пушил и импортил повторно. В том, что я получаю в результате выполнения ansible-galaxy import нет моего кода.
George
эм
George
я спрашиваю другой
George
коммит какой берется?
George
т.е. напиши - последний коммит в ориг репе
George
последний коммит в твоей репе
George
и что фактически прилетает
Anonymous
Исходная репа - https://github.com/geerlingguy/ansible-role-jenkins
Форк - https://github.com/RenderQwerty/ansible-jenkins
Импорт в галакси - https://galaxy.ansible.com/renderqwerty/ansible_jenkins
Можно в самом галакси посмотреть на README.md и увидеть что первая строка выглядит как "Ansible Role: Jenkins CI System" - это то, что менял для примера
А в результате выполнения ansible-galaxy install renderqwerty.ansible_jenkins мы получаем состояние коммита в исходной репе Джеффа
Pavel
Подскажите, плз, можно ли хранить ключ шифрования для ansible-vault в переменной окружения CI, например, ну чтобы не хранить этот ключ в том же месте, где и зашифрованные файлы или не вводить его руками в терминале (что невозможно в CI, например)
Anonymous
Pavel
не могу понять, как. можно подсказку? =)
Timur
Timur
Она берет релизы по тегам
Anonymous
Jungo
короткий вопрос - yaml или ini ? что удобнее ?