Max
я ж говорю, в прошлый раз сценарий диалога был ровно такой же
Sergey
я кстати, готов поливать тауэр за счёт лицензионной политики
А что с ней не так? Ты всегда можешь использовать AWX.
Alex
А что с ней не так? Ты всегда можешь использовать AWX.
вот не мог, клиент - финтех, купил лицензию на 500 хостов и заставил меня проявлять фантазию с инвентори
Антон
мда... странные люди заходят порой на огонек...
Alex
было весело сегодня. @tgadiev если будут подобные кейся - пингуй, я с удовольствием заскочу на огонёк отвлечься от моего кровавого энтерпрайза. все мир
Timur
Словарь сформировать можно легко с помощью фильтра combine
Boris 🦍
Словарь сформировать можно легко с помощью фильтра combine
точно, то надо. спасибо, пошел пимерять
Boris 🦍
Да, сорри. Тут некоторые своим троллингом зафлудили ветку
да. там гляжу и в других чатиках отжигает
Andrey
пьяный погромист - печальное зрелище.
Denis 災 nobody
Временно вернём, но под наблюдение админов
Denis 災 nobody
Одна попытка
Антон
добрые вы ребята... жаль
Nick
На мой взгляд, этот тролль был довольно уныл. Маловато было технических аргументов. Вопрос про стейт он банально слил.
Гайрат
Господа, а как можно накостылить ignore-handlers. Хочу переиспользовать роли в packer. Части данных для ролей не будут. К примеру ssl сертификатов. роль nginx грустит если ей указали на серты но их не предоставили.
Можно запускать роль сначала только для http-сайтов (делать симлинки на sites-enabled), потом certbot/dehydrated, а потом снова nginx со всеми включёнными сайтами.
Anatolii
Здравствуйте. Подскажите, я копирую файл, но мне пишет что "Destination directory /install-rabbitmq/files does not exist"
Anatolii
я так понимаю команда copy не может создавать каталоги..
Гайрат
Да
Anatolii
Да
а как с этим бороться?
Anatolii
создавать шелом каталог?
Anatolii
ясно, спасибо)
Nick
Модуль file
А если synchronize использовать? Он сможет автоматом создать каталог?
Nick
Если сможете запустить :)
Я не для себя - для Анатолия. Но и сам на будущее запомню, спасибо.
Nick
В этом году надеюсь побольше ансибла юзать и поменьше ручника всякого
Гайрат
создавать шелом каталог?
Нет конечно, если это переменная service_config_file, то модулем file можно создать директорию с path: {{ service_config_file | dirname }}.
Михаил
Есть неофициальные, установка через rpm
tati_v_p
Подскажите, как сделать выполнение определенной таски в плейбуке, если совпадают условия по when?
tati_v_p
точнее вот так, как из этой таски в плейбуке, выболнить другую таску из этого же плейбука - name: "test" shell: echo “123” when: - param != none - param1 == true Что нужно использовать вместо шелл?
tati_v_p
То есть условия совпадают, значит переход на таску, которая находится чуть ниже по строчкам в этом плейбуке? И в этой таске выполняется необходимый экшен
Timur
не изобретаю
Тогда что вы пытаетесь сделать?
tati_v_p
инклудить таску ради одной команды не очень затея
Timur
инклудить таску ради одной команды не очень затея
А в чем проблема просто вызывать нужный таск, никуда не переходя?
tati_v_p
пытаюсь сделать такую конструкцию в рамках одного плейбука
Антон
А что если просто продублировать таск?
Timur
как это сделать?
Что именно сделать? Выполнить нужный таск?
Timur
Просто добавьте его в нужное место
tati_v_p
Просто добавьте его в нужное место
каждый раз? Просто дело в том, что эта таска должна быть одна для нескольих вариаций условий по параметрам
tati_v_p
И получается, хотелось бы эту таску не писать все время. А обращаться к ней при соблюдении условий
Timur
Так и так отдельный таск
tati_v_p
По синтаксису одинаково. Писать таск или инклудить файл с ним
есть еще один момент, необходимо чтобы этот таск был доступен по тегу из этого плейбука. Если он будет только в тсках с условиями, то как к ним можно обратиться?
Vitaliy
https://github.com/kwoodson/ansible-role-yedit
Попробовал модуль yedit, это мне и нужно. Если значение не отличается, не правит - тут ок. Но при изменении значения, перестраивает (форматирует по своему, меняя местами ключи) весь целевой yml файл. Можно ли добиться просто изменения конкретного значения, оставив весь остальной yml файл без изменений ?
tati_v_p
Не очень понял суть проблемы
Имеется ввиду, чтобы эта таска была например доступна через ansible-playbook test.yml —tags test А если таска будет написана в рамках таск, где используются условия, то как ее вызывать без соблюдения всех условий?
tati_v_p
Вы хотите странного
т.е эту задачу не решить? Нельзя написать одну общую таску и к ней обращаться?
tati_v_p
Запуск через tags необходим для ручного запуска плейбука именно этой таски, без соблюдения условий.
Timur
т.е эту задачу не решить? Нельзя написать одну общую таску и к ней обращаться?
Общие таски делаются через инклуд. Но для одной таски большого смысла в этом нет
Timur
Мешать теги с условиями - плохая идея
Timur
Какую задачу вы вообще решаете?
Андрей
У Татьяны второй заход)))
Anonymous
коллеги возник вопрос, который давно мучает, есть две группы [db_servers] server1.example.com [web_servers] server1.example.com есть перменные для плейбука например stg/db_servers.yml port: 12345 stg/web_servers.yml port: 33333 если запустить роль так, где группа будет указана web_servers ansible-playbook -i env/stg web-servers.yml -K То переменные возьмутся из роли db_servers - то есть первого вхождения сервера в группу, то есть порт будет port: 12345? как бороиться и как быть ?
Vitaliy
Лучшее что можно это сохрнать комментарии
это печально. а комменты как сохранить кстати?
Aleksey
Нужен модуль питона ruamel
tati_v_p
У Татьяны второй заход)))
хорошо, что не двадцать второй
Андрей
хорошо, что не двадцать второй
Мы так учимся)) можно хоть 100-ый. Зато потом будет легче
zhag
Чет у меня не робит посоны - name: UPDATE | Stop queues supervisorctl: name: fast state: stopped Выдает ```fatal: [ca-yyz]: FAILED! => { "changed": false, "invocation": { "module_args": { "config": null, "name": "fast", "password": null, "server_url": null, "signal": null, "state": "stopped", "supervisorctl_path": null, "username": null } }, "msg": "ERROR (no such process)", "name": "fast" } Ему что нужно обязательно конфиг указывать или что?
Андрей
msg": "ERROR (no such process)"
Андрей
вот это прочитали?
zhag
Да конечно
zhag
fast:fast_00 RUNNING pid 22399, uptime 1 day, 17:45:02 fast:fast_01 RUNNING pid 22343, uptime 1 day, 17:45:03
Андрей
цель выключить сервис?
zhag
Цель остановить очереди
zhag
попробую конфиг подсунуть ему
Андрей
вообще он говорит,что процесс fast не найден
Vitaliy
Нужен модуль питона ruamel
Так нет, после установки ruamel.yaml на целевые системы, yml остаётся в прежнем виде, разве что отступы для списков убирает и bool в нижний реистр переводит. В общем, просто добавить в зависимости ruamel.yaml и прописать для задачи переменную ansible_python_interpreter: /usr/bin/python3
tati_v_p
Какую задачу вы вообще решаете?
с тем, чтобы при при проверке разных условий выполнялась определенная таска. Но эта таска должна так же быть доступна из этого плейбука для запуска только этой конкретной задачи, если пользователю необходимо будет запускать ее без проверки условий. Т.е выполнить этот плейбук необходимо без тасков с проверкой условий и сделать экшен, который один общий(как для проверок, так и без них)
Mista
Вместе с ночным кадром складывается впечатление что люди хотят портал самообслуживания впилить на ансибле