Diana
Логично
Diana
Вариаблю ж нужно сделать...
Evgenii
https://docs.ansible.com/ansible/latest/plugins/lookup/dig.html
Evgenii
в экземплах так
Diana
Вероятно в кавычках надо
Sergey
в экземплах так
В экземплах (бииип!) имя хоста в кавычках (бииип!)
Diana
*ненастоящий линуксоид
Sergey
Я угадала))
Пичот..... А зачем гадать, есть же общие принципы? В каком языке программирования строки в функцию передаются без кавычек? Я не помню таких навскидку.
Evgenii
всем спасибо )
Evgenii
блин, он первое значени только отдаёт
Evgenii
а как получить массив всех А записей ?
Sergey
Я читала вывод команды)
А вот это ценно. Часто приносят вывод Ansible, даже не читая, хотя там вся диагностика есть.
Sergey
а как получить массив всех А записей ?
А там же в примерах есть 😉
Sergey
- name: use in a loop debug: msg="MX record for gmail.com {{ item }}" with_items: "{{ lookup('dig', 'gmail.com./MX', wantlist=True) }}"
Evgenii
wantlist=True достаточно. Спасибо
manefesto
Народ, я туплю, а можно inventory не файлом передавать, а в качестве параметра, типа -e host=10.10.1.1
manefesto
пример как это сделать
Evgenii
а нет, мы тоже в файл эхаем
manefesto
# Requires 'hosts: all' in your playbook ansible-playbook -i example.com, playbook.yml
manefesto
щас проверю
Evgenii
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#passing-variables-on-the-command-line
Ruslan (Skench)
Всем доброго дня, есть возможность в ансибле устанавливать ПО, для примера хочу установить ПО samba winbind libpam-winbind libnss-winbind samba-dsdb-modules smbclient libpam-krb5 krb5-config krb5-user krb5-kdc для kerberos при установке он запрашивает допольнительно realm , как при помощи плэйбука задать определенные значения чтобы указаны были? Можете подсказать плз.
manefesto
по идее он зависимости сам подтянет, если не пакетами ставишь
manefesto
иначе явно указывай
Ruslan (Skench)
не не зависимости, например при установке Mysql мы еще указываем пароль от уз root
manefesto
ну для mysql есть отдельные кейсы
Ruslan (Skench)
при установке Kerberos Тоже выходит окошко думаю используется ncursed но не важно, где мы указываем доп данные, вот как эти доп данные передать через плэйбук))
Ruslan (Skench)
вернее как)
manefesto
гугл
Ruslan (Skench)
гуглю паралельно еще
Oleg
всех с последней субботой года уходящего! может ли replace сразу искать несколько слов и заменить на несколько слов? или по каждому слову делать отдельно необходимо??
manefesto
я через думаю with_items
Timur
Но нужно хорошо владеть регулярками
Timur
При установке сам керберос ничего не спрашивает
Oleg
Если сразу напишешь, чего хочешь добиться в результате - получится горааааааздо быстрее.
есть файл и там пару параметров, которые я хотел бы заменить по средствам Ансибла) переменные задаю в Дженкинсе и использую Ансибл модуль.
Timur
Вы не знаете нужных регулярок?
Oleg
В чем проблема-то?
я знаю как это сделать через replace, но не хочется плодить портянку
Oleg
Вы не знаете нужных регулярок?
может у кого просто есть коротенький пример, так то вы посоветовали,конечно,буду гууглить, но вдруг уже что то имеется)
Timur
Т.е. проблема не в ансибле, а в регулярках?
John
Тогда вот так: - name: Set list of inventory group set_fact: targets: "{{ groups['ubuntu'] | map('extract', hostvars, ['ansible_ssh_host']) | list }}"
Не-а) точнее в плейбуке все отработало и не ругнулось, но на сервере прометеуса ниодна нода не прописалась
Timur
Список нужных айпишников в полученной переменной можно глянуть дебагом
Timur
А уж как вы ей воспользовались - только вам известно
John
фигвам)
John
соответственно вот эти таски:
Timur
фигвам)
Что вигвам ⛺️?
John
таргеты не прописались
Timur
Что и куда не прописалось? На скрине в дебаге айпишники выводятся для групп, где они были указаны
Timur
И?
Timur
Телепаты уже новый год отмечают
John
счас счас, соберу все в логическую цепочку, и сообщу одним мессаджом
John
задача: установить прометеус (далее "прома") и нод-экспортеры, их прописать в прому а мане к проме написано что нужно указать таргеты - то есть сервера где установлен нод-экспортер. выглядит это так: prometheus_targets: node: - targets: - 10.0.3.177:9100 - 10.0.3.178:9100 - 10.0.3.179:9100 Что бы не указывать руками каждый нод-экспортер в таргетах к прометеусу, я думаю что правильно будет найти конструкцию которая сама укажет адреса нод-экспортеров, ведь они устанавливаются на группу (имя all) для решения этой задачки было предложение сл: - name: Set list of inventory group set_fact: targets: "{{ groups['all'] | map('extract', hostvars, ['ansible_ssh_host']) | list }}" Проиграв плейбук на странице http://prom/targets должны были прописаться все таргеты. Однако этого не произошло. Вот примерно полная расшифровка моего "фигвам" :)
John
Timur
И по таску: вам дали пример, где сделана выборка для конкретной группы, а вы туда зачем-то засунули all. Зачем?
John
наверняка и этого мало, вы скажите каких данных не достаточно, я конечно же покажу
John
all запунул, потому что роль нод-экспортера устанавливается на all, соответственно и в таргетах я думал правильно указывать алл
Timur
У вас тут два раза node-exporter устанавливается
Timur
Зачем?
John
согласен, касяк. ведь группа мониторинг уже состоит в алл. Сейчас поправлю
Timur
all запунул, потому что роль нод-экспортера устанавливается на all, соответственно и в таргетах я думал правильно указывать алл
При этом переменные, которые вы хотели использовать, есть у вас только в одной группе ubuntu
Timur
И чего вы хотите тогда?
John
соответственно вот эти таски:
а не в all? переменные нужны по сути только серверу промы. При установке
Timur
Что такое "сервер промы"? Какой ролью или плейбукой задаются нужные вам параметры?
Timur
Можете нормально задачу описать?