Serge
Вот чего в ансибле действительно не хватает, чтобы на новый уровень перейти - это работы с состоянием. Но это уже отдельный очень жирный разговор за многие куски его архитектуры и разные возможные понимания стейта.
Albert
Ыместо when и with_* использовать if и for
Serge
Serge
В свое время в Позитиве об это много копий поломали
Serge
В if у джинжи в общем случае слишком большая свобода. Там можно что-то вычислять.
With_items - синтаксический сахар для декларативного кода
Serge
Вообще, я бы совсем убрал джинжу из плейбуков. Оставил бы возможность обращаться к элементам и всё.
Там бы иметь возможность переменные дергать по имени из переменной и достаточно.
Serge
Надо смотреть на разные кейсы, конечно, но идти надо в усиление декларативности и облегчение написания своих модулей.
Serge
Декларативный и императивный код надо разделять как можно более явно.
Dmitry
программирования на конфигах срач? одобряю! :)))
Magistr
@lig11 а вы фичу ансибла с тем что переменные можно в 16 местах объявить будете реализовывать или порядок там наведете ?
Serge
Serge
Но точно будет четкая область видимости
Anonymous
чуваки, а как вы одну и ту же роль растягиваете на несколько наборов тэгов? к примеру, я хочу сделать так, чтобы один и тот же демон запускался в несколько инстансов с разными конфигами и на разных портах
Anonymous
хотел ещё спросить, а смотрю, уже всё на месте https://docs.ansible.com/ansible/letsencrypt_module.html
Serge
Anonymous
не, второе не нравится
Anonymous
есть пример реализации второго варианта? каждому шагу скармливать with_items не очень хочется
Serge
Тогда учить роль тому, что сервиса N копий
Serge
не, второе не нравится
Ну оно бывает полезно не для одного сервиса, а когда правда два разных окружения в один хост пихаешь. Если сможешь изолировать, то оно даже работать так будет
Serge
Serge
Типа в main.yml инклюдишь item.yml, который рядом лежит
Serge
В main можно приготовить что-то общее перед или после include, может быть полезно
Anonymous
хм. что-то я за полгода совсем ансибль забыл. спасибо, кажется понял, что делать
Serge
Только помни, оно будет выполнять каждую операцию внутри этого файла, как будто на неё наложили этот with_items, а не по порядку всё для каждого.
Это не for, это размазывание with_items по каждой инструкции внутри включаемого файла
Anonymous
чем это чревато? медленнее или мне обязательно переменную принимать в каждой инструкциия?
Serge
Joe
Привет всем помогите с докером, лабу надо сделать...😔
Joe
Знаю что не по теме
Serge
Aleksey
Чобы не задать вопрос с @ru_docker ?
Joe
Алексей Большое спасибо
Anonymous
Igor
Коллеги, а как копировать файл на удалённом хосте с одного места на другой?)
Igor
copy - с локального сервера на удалённый
fetch - с удалённого на локальный
Pavel
Igor
Command не индемпотентен
Pavel
copy: remote_src=true... (added in 2.0)
Igor
Alf 🙀
synchronize еще есть
Alf 🙀
Pavel
и все... если просто скопировать надо, зачем что-то еще?
Pavel
я ж не спорю, можно всегда рсинком пользоваться
hackru
Mikhail
научился делать dict из вывода stdout, порадуйтесь за меня )
set_fact:
hwaddr: "{{ hwaddr|default({}) | combine( {item.item: item.stdout} ) }}"
with_items: '{{ hwaddresses_output.results }}'
hackru
разве этого в фактах при setup не появляется?
Mikhail
вообще да, наверное должно быть )) но в любом случае меня давно напрягало что не могу сделать нормальный дикт
Ilya
Всем привет)
Ilya
Ок! Привет, я недавно начал разбираться с ancible, подумал, что не плохо бы найти чатик по интересам, где можно было бы обраться к коллегам по различным нюансам. Как-то так!
Aleksandr
Pavel
Elinka22
Господа! А можно в анзибле сделать так - есть список айтемов, я на основе них генерю скрипты с названиями из айтемов. Как бы мне потом дёрнуть хендлеры с названиями включающие в себя измененные только айтемы?
Dmitrii
Добро пожаловать в мир Ansible
Dmitrii
😂
Dmitrii
Как только ты отходишь от Hello World — ты простреливаешь себе ногу
Pavel
Alf 🙀
Elinka22
notify: {{item}}?
Там у него в нутрях оседает в качестве item только первый по списку.
Alf 🙀
Alf 🙀
инвентори стоит выше роли. переменные роли не будут применены т.к. инвентори о них не знает
Alf 🙀
Elinka22
Pavel
Арсен
"если описать переменную в var разделе роли" - это где?
Pavel
Max
лучше уж в dafaults
Max
что бы если что можно было в плейбуке в секции vars: переназначить
Арсен
вопрос не имеет отношения к области видимости
при вызове роли инвентори переменная будет иметь значение из роли, если задана например inventory_var: "{{ role_var }}"
при вызове другой роли - будет undefined
Арсен
сроду не использовал vars в ролях, только defaults
даже забыл
overengineering какой-то
Pavel
ну чтобы понятней было - там у меня ссылка на пакет для скачивания в роле
Pavel
оно и не должно нигде быть, кроме этой роли