Алексей
Алексей
Загрузчик переменных хочешь написать свой?
хочу собирать список файлов и работать с ним.
Просто то что Тимур предложил - там
with_sequence: count=19 по идее можно количество файлов получать и подставлять.
Костыльно, но лучше чем роль чужую переписывать.
Sergey
Я с телефона сижу, поищи group_names
Sergey
Oleg
подскажите есть вот такой код: files_to_squash_order:
"{{ files_to_squash.files | sort(attribute='path') | map(attribute='path') | list }}"
который возвращает вот такой результат:
"/var/www/pharm/db/run/A.sql",
"/var/www/pharm/db/run/B.sql",
я мне нужен вот такой результат:
"A.sql",
"B.sql",
как это сделать? сколько не пытался через map, не получается
Oleg
разобрался что это можно сделать с помощью {{ item | basename }}
Oleg
а как сделать это в map так и не понял, если кто-то подскажет, буду благодарен
Timur
Alex
Alex
greydjin
никто не использует alpine linux в diskless mode? как бы из ансибла сохранять конфигурацию после редактирования
Алексей
Значит ты не написал
ага, охуенная позиция. Я понимаю, что "самдурак", но если кто-то больше в чём то соображает, это не значит, что я на таком же уровне понимаю. Я на конкретику ответил.
Alex
George
Алексей
Timur
Плейбука и роль
Timur
Но главное - в каком месте выполнения была ошибка с полным выводом
Timur
Этой информации пришлось ждать долго
Алексей
Потому что это не относится к теме вопроса. Ни плейбука не нужна, ни роль. Роль я дал, кстати, причём сразу. А плейбука простейшая - тупо роль запускает. Что из этой инфы вам нужно было для понимания?
Она абсолютна бесполезна в контексте вопроса. Как была, так и есть
Timur
> Потому что это не относится к теме вопроса.
Ну, т.е. вы сами все лучше всех знаете
Timur
Извините, что не дотягиваем до вашего уровня и не можем мысленно читать код
Алексей
не обижайтесь, смысла в том как я запускаю роль вообще нет
Timur
Алексей
какой код? Код роли?
Алексей
Timur
В каком месте выполнения возникла ошибка - вы не указали
Timur
А телепатически считать данные не удалось, к сожалению
Timur
И плейбуку тоже не указали
Алексей
А там и не нужно считывать ничего телепатически. Просто глянуть где указанная переменная используется.
Ок, вот плейбука
---
- hosts: all
vars:
ansible_user: "root"
become: yes
roles:
- bind
Она наверное Очень информативная.
Timur
ansible_user: "root" 😏
Timur
Oleksandr
Артём
А что, бекам в рута из рута не сработает?
Алексей
Вот так получилось собрать нужный формат из файлов https://xpaste.pro/p/XTicpwjX
Алексей
Артём
Это к Александру в целом вопрос был.
Timur
Timur
Если просто словарь нужно собрать из разных файлов в одну переменную, то все в один шаг делается
Алексей
Да, верно. Это словарь. А нужен потом список словарей.
Timur
Через include_vars
Timur
Алексей
Всё у меня делается. Я уже проверил всё и всё собирает как нужно
Алексей
Возможно там можно сократить на один шаг - убрав определение dict2, но мне нужны были промежуточные значения для понимания как оно всё собирает.
Антон
Подскажите, пжлст, как разрезолвить переменную в переменной? Например, group_vars вида:
some_other_var: "value"
some_var:
param:
param_var: "param_name_{{ some_other_var }}"
Далее запускаю плейбук с параметром вида -e var='some_var' с содержимым:
...
- debug:
msg: "{{ vars[var]['param']['param_var'] }}"
Получаю:
"msg": {
"param_name_{{ some_other_var }}"
}
Хочется получить:
"msg": {
"param_name_value"
}
gather_facts пробовал и true, и false - разницы нет (хотя иногда влияет на вложенные переменные)
Alexander
Как мне используя dynamic inventory отдельно указать хост (только один хост из многих), на котором я хочу выполнить плейбук? Но inventory мне нужно указывать стандартное, там же пароли и всё такое
Viktor
Использовать --limit ?
Alexander
В общем, я указал IP, которые возвращаются как названия хостов. Работает.
Спасибо @vbatuev
Timur
Timur
Работает?
Антон
Работает?
сейчас уже не получится проверить( завтра попробую, отпишусь. но, вроде, работало
Alex
Антон
Антон
Антон
пока что работает только такое извращение:
- set_fact:
result: "{{ vars[var]['param']['param_var'] }}"
- debug:
msg: "{{ lookup('vars', 'result') }}"
Oleg
Коллеги, подскажите как в ansible при использовании dynamic inventory (в целом при использовании любого inventory) отлавливать fatal: UNREACHABLE или FAILED и совершать действие на локальном хосте, например добавлять хост в исключение или дергать внешний скрипт?
Oleg
подскажите, а как правильно останавливать выполнение плейбука при определенных условиях, через fail?
Антон
если нужно просто выходить из плейбука с нулевым кодом, то можно попробовать ```meta: end_play```и when
https://docs.ansible.com/ansible/latest/modules/meta_module.html
Павел П.
Добрый день.
Я не понимаю почему ансибл работает)
ansible-playbook --version
выдает
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
Однако таких папок просто нет.
Где лежат модули по-умолчанию? find по назвнанию пары модулей (lineinfile, zabbix_host) ничего не дал.
George
gaal@linux-x1:~> ansible-playbook --version
ansible-playbook 2.7.10
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/gaal/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.7/site-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 3.7.2 (default, Dec 30 2018, 16:18:15) [GCC]
George
это дополнительные модули
George
остальное в пайтон окружении