Maxim
м.б.
ну в общем это не оно айтемс2дикт из одного дикта делает другой дикт
Maxim
максимально похожее сделал zip_longest, но он в итоге сделал лист листов типа [[ "ip", "<ipaddr>"], [ "ip", "<ipaddr>"]]
Alex
ну дак передавай ip как key и адрес как value
Maxim
это как?
Maxim
а, ну всмысле я вроде так и пытаюсь
Maxim
$ ansible localhost -m debug -a "msg={{ groups['all'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | list| combine({'ip': item})}}" localhost | FAILED! => { "msg": "|combine expects dictionaries, got '172.18.1.13'" }
George
Python'овский split тебе будет намеком
George
Ну, или регекспом парсить, с захватом первого компонента
George
Ну, и наверняка есть фильтр типа урлпарс
George
Но это надо доку открывать 😂
Vlad
хм не нашел пока как решить то, что запускается ансибль для всех хостов внутри hosts, который в гите а надо для одного только
Vlad
мб подскажете?
Alexander
Правда, я c отключённым обновлением проверял. Сейчас запущу с включённым.
Alexander
Но это же функционально ни чем не отличается от command, так? С точки зрения npm
Sergey
Но это же функционально ни чем не отличается от command, так? С точки зрения npm
Отличается. shell (bash) расширит/пропишет/получит/прочитает все переменные, например
Anonymous
если кто-нибудь тестирует с помощью molecule, то прошу поделиться ссылками на готовые тесты(примеры) testinfra.
Andor
Тебе молекулы примеры или тестинфры?
Anonymous
мне примеры тестинфры в контексте молекулы...
Anonymous
там можно mock прикуртить?
Anonymous
документацию, да, читал...
Anonymous
по testinfra очень скромная документация...
Anonymous
по идее можно все использовать из pytest(исходя из документации), но примеры этого дела бы мне многократно упростили жизнь
Andor
Ну тебя никто не заставляет юзать именно тестинфра
Andor
Тот же серверспек или инспек намного приятнее
Anonymous
мне более интересно использовать pytest + mock
Anonymous
глубоко не копал, поэтому и спрашиваю
Anonymous
тут оговорка, было бы интересно использовать
Anonymous
пока не понимаю, как прикрутить mock
Anonymous
в молекуле
Артём
https://pastebin.com/83enXn4B
Anonymous
ибо по умолчанию его там нет. если получиться, то наверно напишу. кейс наверно интересен для многих
Anonymous
https://pastebin.com/83enXn4B
это да, но не то
Артём
Угу. Если дадут то - хайлайтните меня, я бы тоже посмотрел. Можно нырнуть в репы lean, у них должно быть.
Артём
https://github.com/lean-delivery
Timur
https://github.com/lean-delivery/ansible-role-mysql
Timur
Так видно?
Anonymous
@nitromagnum будет жить. Поприветствуем!
Tadeusz
а как бы поизящней выдернуть имя 2-го интерфейса из фактов?)
Tadeusz
с 1-м то все ясно {{ hostvars[inventory_hostname]['ansible_default_ipv4']['alias'] }}
Tadeusz
не хочется хардкодить и объявлять переменные вручную
Timur
а как бы поизящней выдернуть имя 2-го интерфейса из фактов?)
А конкретнее если? Каков критерий выбора и какой именно переменной?
Tadeusz
мне нужно выдергивать именно название сетевого интерфейса
Tadeusz
ens160 - внешка ens192 - bogon
Timur
Ну и в чем проблема вытащить фильтром из фактов?
Timur
selectattr
Tadeusz
это изящно будет? )
Timur
Вполне
Timur
А какие ещё вообще могут быть варианты?
Tadeusz
хм, а почему так может быть? {% for host in groups['blahblah-group'] %} server {{ second_ip }} {% endfor %} а прилетает в темплейт только 1 IP (от одного из серверов) 3 раза
Alexander
Попробуй для начала запустить через shell.
В общем, с даунгрейдом версии И через shell работает. Спасибо.
Tadeusz
if not loop.last дать что ли?
Sergey
😉
Tadeusz
мне надо server 1.1.1.1 server 2.2.2.2 server 3.3.3.3
Sergey
Ну и вообще - делаешь перебор для host, а выводишь second_ip O_o
Tadeusz
ну мне надо забрать переменную second_ip с трех хостов, находящихся в группе
Tadeusz
{{ hostvars[host]['second_ip'] }} ? блин, запутался сам уже
Sergey
да, такое себе
Andor
ens160 - внешка ens192 - bogon
Ты в курсе что ты можешь правилами udev переименовывать интерфейсы как хочешь?
Tadeusz
хочется минимум насилия
Tadeusz
Sergey
Да подумал, что можно твой список прогнать через мешок фильтров, но не факт, что получится годно. Так что да, наверное, твой вариант норм.
Tadeusz
{% for host in groups['blahblah-group'] %} server {{ hostvars[host]['second_ip'] }} {% endfor %} так работает, да
Anonymous
Так видно?
Что видно? @pytest.fixture, @pytest.mark.parametriz? нет, не видно.
Anonymous
Timur
Что видно? @pytest.fixture, @pytest.mark.parametriz? нет, не видно.
Тесты, прикрученные к молекуле, не видно?
Anonymous
Тесты, прикрученные к молекуле, не видно?
сообщение было про другое. тесты testinfra почти дефолтные.