Alex
У меня import_playbook не работает, отключение пайплайна не помогает. Пришлось костылять на разные файлы тасков с их последующим инклюдом
Asten
У нас опсы так пишут и мне кажется это бред 🙈
У нас такое ревью не проходит. Вводите код ревью
Vladislav 👻
У нас такое ревью не проходит. Вводите код ревью
я не могу влиять на опсов, но мы забираем свой кусок инфраструктуры из под них
𝚔𝚟𝚊𝚙𝚜
как объединить [['a', 'b', 'c']['d', 'e', 'f']]в ['a', 'b', 'c', 'd', 'e', 'f']?
Gleb
а как в таком случае запускать?
так мне тоже интересно
𝚔𝚟𝚊𝚙𝚜
{{ list1 | union(list2) }}
А если у меня не два листа, а лист из листов?
Ждун
function Flatten($a) { ,@($a | % {$_}) }
Andrey
А если у меня не два листа, а лист из листов?
Или в цикле пробовать это делать или искать filter подходящий.
𝚔𝚟𝚊𝚙𝚜
flatten - оно, спс!
𝚔𝚟𝚊𝚙𝚜
@alexsuslin а что это за синтаксис?
Ждун
минималистический
Alex
Помогите плиз, хочу собрать список в цикле, но не получается. {% set output = [] %}{% for domain in apache.vhosts %}{% set output = output + apache.vhosts[domain].serveralias|default([]) + [ domain ] + [ apache.vhosts[domain].domain ] %}{% endfor %}{{ output }}
Ждун
народ, извините перепутал каналы ansible и powershell... все что я писал и отвечал это не питон
Tadeusz
𝚔𝚟𝚊𝚙𝚜
народ, извините перепутал каналы ansible и powershell... все что я писал и отвечал это не питон
Ахахах, но ты мне помог тем что подсказал название метода)
Vladislav 👻
Подскажите, а как-то можно кусок таска разбить на условия? Например, вот использую я модуль docker_container и если у меня есть ENV то подставить, а если нет, то не подставлять
Vladislav 👻
или только через default делать? но тогда будет объявлена все равно переменная...
Anonymous
привет пипл
Vladislav 👻
Через Jinja.
Эммм, а можно пример, как jinja в таске писать?
Sergey
Эммм, а можно пример, как jinja в таске писать?
Как обычно - в скобках {% for i in list %}.
Sergey
Полностью конструкцию не привожу, чтобы не смущать новичков и не показывать им плохой пример. Твоих квалификации и стремления к странному хватит, чтобы понять, о чём речь.
𝕀𝕘𝕠𝕣
привет, подскажите, как вывести в переменную только название файла? - name: get file find: paths="/home/dev/releases/latest" recurse=no patterns="*static*.rpm" register: rpm_var - debug: msg="{{ rpm_var.files }}" при таком раскладе выводи много лишней информации, а нужно только название файла в папке
Victor
map extract?
𝕀𝕘𝕠𝕣
map extract?
поясни
Victor
Ну у тебя там наверное словарь или типо того. На каждый элемент мапишь жинжевский фильтр
Victor
Например экстракт
Vadim
set_fact: rpm_var_files = "{{ rpm_var.files }}"
Vadim
ну можно написать свой модуль find конечно
𝕀𝕘𝕠𝕣
set_fact: rpm_var_files = "{{ rpm_var.files }}"
и выводить rpm_var_files тогда?
𝕀𝕘𝕠𝕣
сейчас попробую, спасибо!
Valeriy
Господа. а как вы храните учетные данные для dynamic inventory scripts в awx ? сижу думю как привязать скрипт к creditinals , сейчас учетные данные прямо в теле питон скрипта а это зло.
/warn
Господа. а как вы храните учетные данные для dynamic inventory scripts в awx ? сижу думю как привязать скрипт к creditinals , сейчас учетные данные прямо в теле питон скрипта а это зло.
Не уверен что правильно понял задачу, но можно передать данные через survey + сделать encrypted что б они на awx не отображались
/warn
А с плейбука уже дальше в питон закинуть, и сделать что нужно
Valeriy
Не уверен что правильно понял задачу, но можно передать данные через survey + сделать encrypted что б они на awx не отображались
Если отказаться от Inventory Scripts и для вытягиания Inventory из внешней системы испоьзовать Job , то наверное можно было все в Survey запихнуть. Но по идее это должно как то более красиво , при создании Inventory можно указывать creditinals , но там гвоздями тип Insight . Т.е. Custom creditinals нельзя.
/warn
Я просто с dynamic inventory не работал, поэтому сказать не могу
Valeriy
Понят, но все равно спасибо за попытку помочь.
Valeriy
https://docs.ansible.com/ansible-tower/latest/html/userguide/credential_types.html судя по всему все таки можно передать в custom inventory script
𝕀𝕘𝕠𝕣
То есть?
Не выводит название, ошибку выдавал
Timur
Какую?
Alexander
Ребят, если в одном плейбуке обьявлено исполнение роли и импорт плейбука, как можно сделать чтобы сначала плейбук исполнял а потом роль?
Asgoret
Привет! не подскажите как вставить свою картинку в ямл? image или imagefile?
Anton
Пару дней назад просил посмотреть статью. Статью поправил и опубликовал https://habr.com/post/432260/
NS 🇷🇺
Народ, а никто не подскажет хороший редактор для Ansible чтобы можно было по переменным перемещаться в то место где они объявлены
Aleksey
9999 раз обсуждали
Asgoret
тут есть плагин для concuers-ci плагин, который парсит ямл и показывает че у тебя там за классы, как называются, какие ступни и можно по тыку переместиться в коде. думаю такой же есть для ямла (если уже не встроено)
𝕀𝕘𝕠𝕣
Какую?
Сейчас позже скопирую
NS 🇷🇺
Поиск по чату?
ну в этой каше сложно понять .... я вот vscode прилюбил, но не могу найти в нем плагина для навигации
NS 🇷🇺
Phpstorm и плагин ( чуть ошибся в названии)
спасибо, гляну... но хотелось бы vscode...
𝕀𝕘𝕠𝕣
Какую?
"The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'files'
𝕀𝕘𝕠𝕣
А сама rpm_var тогда как выглядит у вас?
стоп, получилось! но, он вывел весь путь до файла, а мне нужн сам файл
Timur
Что значит сам файл?
NS 🇷🇺
спасибо, гляну... но хотелось бы vscode...
нашел Template Finder но он не видит не одну переменную =)
𝕀𝕘𝕠𝕣
Что значит сам файл?
имя файла, а не полный пусть до него "msg": "/home/dev/releases/latest/0.0.1dev.20181206.0812-1.el7.x86_64.rpm" а мне нужно в переменную зангнать только 0.0.1dev.20181206.0812-1.el7.x86_64.rpm
𝕀𝕘𝕠𝕣
спасибо!
𝕀𝕘𝕠𝕣
то что нужно, работает!
Timur
Но такая конструкция только для одного файла будет работать
Timur
Если в результате работы модуля find будет найдено несколько файлов - тут будет обработан только первый из списка
Timur
Если нужны все файлы - нужно делать фильтрацию и маппинг
Oleg
Нихао ма всем собравшимся
Stepan T.
https://m.habr.com/post/432260/
Stepan T.
Божественно