Aleksey
https://t.me/pro_ansible/60135 so slow
Оно не долго было. Я когда видел уже .2 было
Ivan
Оно не долго было. Я когда видел уже .2 было
В любом случае, флапаешь, надо гистерезис написать
Alexander
Кто знает, как можно по-человечески пушить docker image в AWS ECR с ansible? Проблема в ротации паролей. Там есть какой-то обходной путь с amazon-ecr-credential-helper но зависимости тащить не хочется.
Aleksei
features.matches | map('first') - работает features.matches | map('last') - не работает
Спасибо ещё раз. Вроде заработало, но только python3 не подерживает индек для объекта dict_values, поэтому список текущих элементов сгенерировал вот так: features_list: "[{% for dict in features.matches %}{% for value in dict.values() %}{{ value }},{% endfor %}{% endfor %}]"
Vadim
интересно, 2.7 пропускает почему-то include_tasks
Vadim
никто подобного не видел?
Stepan T.
Видел, когда коллега применял --tags= а в тасклисте, на который ссылался include_tasks тэги были непроставлены. Кажется так.
Stepan T.
Надо отдать должное. я на эти грабли впоследствии тоже наступл. Как вы понимаете от версии ансибла количество ума в голове не зависит =)
Vadim
ага, нашел https://github.com/ansible/ansible/pull/39236
Vadim
только вот тэги у нас запрещены
Stepan T.
Ну, хорошо, что у вас всё хорошо и плохо, что в 2.7 не всё хорошо
inqfen
а, не то4
inqfen
Кто знает, как можно по-человечески пушить docker image в AWS ECR с ansible? Проблема в ротации паролей. Там есть какой-то обходной путь с amazon-ecr-credential-helper но зависимости тащить не хочется.
aws configure set aws_access_key_id {{ aws.key_id }} && aws configure set aws_secret_access_key {{ aws.key_secret }} && aws configure set region {{ aws.region }} && aws ecr get-login | sed 's|-e none||' | bash такая хрень в общем
inqfen
неидемподентно конечно, но тут оно и не требуется
Alexander
Ну эт я подобным образом уже cut'ом забираю пароль. aws ecr get-login | cut -d' ' -f5
Alexander
Это не ансиблово вроде
Nikita
Всем привет, подскажите пожалуйста, у меня есть роль и плейбук, который запускает роль. Как мне в плейбуке заинклюдить файл с варами? Ведь include_vars это ведь таска, а таски же после ролей выполняются?
Artur
в папку group_vars/ файл all.yml положи все свои вары
Nikita
А если мне нужно несколько файлов с варами сделать?
Artur
или host_vars
Nikita
У меня к примеру есть 4 yml файла с варами и нужно их заинключдить
Artur
для разных групп разные ?
Nikita
Не, выполняется плейбук на локалхосте, идет создает различные объекты в freeipa, есть файлы с группами, юзерами, хостгруппами, судорулезами и т.д.
Artur
запихни инклюд в роль
Artur
а не отдельным таском
Nikita
А файлы я куда должен положить? Файлы будут постоянно изменяемы
Nikita
В default?
Artur
vars/
Nikita
Кстати, ansible из defaults только main инклюит?
Artur
но это можно изменить
Artur
https://docs.ansible.com/ansible/2.5/modules/include_vars_module.html
Artur
параметр dir
Денис
еще у самого play есть параметр vars_files
Денис
в начале плея их инклудит
Vadim
https://www.redhat.com/en/events/ansible-automates-prague-2018 Кстати, никто не хочет съездить?
Nikita
А подскажите пожалуйста, как проверять что переменная не пустая?
Nikita
- include_tasks: hbacrule.yml when: ( hbac_rule_name is defined ) and ( hbac_rule_name|length > 0 )
Nikita
Чет не але
Amigo
Привет всем. Подскажите пожалуйста, как переопределить переменную в словаре?
Евгений
Тут написано что нельзя. https://stackoverflow.com/questions/48825583/in-ansible-how-do-you-change-a-existing-dictionary-hash-values-using-a-variable но наверное, можно пересобрать словарь в цикле и в условие when вынести ключ, значение которого нужно поменять.
Egor
Вопрос для тех кто использует Ansible AWX: Есть ли у кого-нибудь опыт использования AWX в Docker? Интересует контейнер awx_task. В него нужно установить несколько дополнительных pip-модулей. Умеет ли он понимать что нужно из requirements проекта? Если нет, получается что единственный шанс что-то изменить, это дособрать свой image, так?
Egor
Возможно стоит поставить вопрос так: есть ли "правильный" способ это делать?
Vlad
Мы awx не используем но если нужны pip пакеты в контейнере то можно их поставить через модуль ansible pip прямо во время выполнения плейбука, используя параметр extra_args: --user Но правильный способ конечно-же пересобрать контейнер.
Serg
Всем привет! Подскажите канал по SaltStack плз)
inqfen
Хм, в чатике про ансибл спрашивать где канал солтстека, это как зайти в синагогу спросить где тут церковь
Womchik
и не выйти при этом :)
Tama
кек. Всем привет
inqfen
Ну, если человек может делать это все одновременно, то он таки явный клиент синагоги
Евгений
Зачем пересобирать? Есть же операция combine - как раз для таких целей.
Спасибо, не встречал раньше, есть примеры для наглядности?
Timur
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#combining-hashes-dictionaries
Евгений
Спасибо, я с этим фильтрами никак не разберусь)
Tama
У меня вопрос: вот если тестировать в molecule роль с docker compose - то molecule эту роль будет запускать из созданного для тестирования контейнера?
Timur
А драйвер какой в молекуле?
Tama
Docker
Timur
Тогда да - будет пытаться запустить докер в докере :)
Tama
Спасибо! А можно ли заставить его создать еще один контейнер?
Timur
Спасибо! А можно ли заставить его создать еще один контейнер?
Вы понимаете - как работает молекула и что именно она делает?
Dmitry
Вы понимаете - как работает молекула и что именно она делает?
Я так понимаю нужно протестить деплой докер контейнера используя докер драйвер с пробросом сокета.
Timur
Тестировать роль с запуском докера с помощью драйвера докера - так себе затея
Timur
https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
Dmitry
Так речь идёт не о docker in docker
Dmitry
А о пробросе сокета
Timur
Молекула запускает трестируемую роль внутри созданного ей докера
Dmitry
Так
Timur
Если роль стартует свой докер, то будет запуск одного докера внутри другого
Dmitry
И она что делает? Правильно, подключается к сокету
Dmitry
Если роль стартует свой докер, то будет запуск одного докера внутри другого
А кто сказал про запуск докера? Тестирование запуска контейнера ведь
Dmitry
Тогда да - будет пытаться запустить докер в докере :)
и отсюда вопрос к этому сообщению, с чего он запускает докер в докере?
bebebe
среда, это известно, маленькая пятница
Alexander
В роли: docker_container: image: something:latest name: "{{ container.name }}" state: started published_ports: - "{{ item }}" loop: "{{ container.ports }}" В плейбуке: vars: ... container: name: something_name ports: - "8080:80" - "8443:443" Ошибка "Unexpected failure in finding the lookup named '{{ container.ports' in the available lookup plugins" ???
Alexander
Хм, с with_items, вроде, прокатило
Alexander
Нет, чот не очень прокатило