Grek 🇺🇦
или, если хотите чтоб всегда работало - попробуйте указать playbook_dir, тогда все темпы будут относительно плейбука
Sebor▂▅▇█▓▒░
Sebor▂▅▇█▓▒░
Lamobot
Sebor▂▅▇█▓▒░
Не умеете готовить :)
Та я и не готовлю, у меня доступа нет к этому всему) Только пайпы писать могу
Полина
Привет.
Для того что бы запустить playbook от имени другой учетки (чтоб перекрывал написанное в all_vars или hosts) для сетевого устройства (cisco) можно указать в плайбуке так:
- name: AAA
- host: A
- ansible_user: user
- ansible_password: pass
Так можно, работать будет?
Николай
Николай
да и вообще, надо смотреть, что в приоритете
Полина
Кажется, по дефолту, учетки в плайбуке более приоритетны
Николай
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#understanding-variable-precedence
Valiy
echo "remote_user = useruser" >> ansible.cfg
Полина
Я хочу управлять коммутаторами, поэтому reomote_user не подходит. На сколько мне помниться
Полина
Vars и vars-prompt можно вместе использовать?
Anonymous
Anonymous
была версия 2.5
Jungo
Коллеги может кто подскажет как создать директории вытащив их названия из вложенного списка path
с условием что type==mysql и burp_client_custom_plan существует?
https://pastebin.com/ST9hzPKb
без вложенного списка все просто получается
а тут надо как-то перебрать их
Отделение Bereke Bank
Отделение Bereke Bank
Ну и дефолт у тебя [] а не {}
Jungo
Lamobot
Jungo
Jungo
Ruslan
Всем привет. Подскажите пожалуйста, как правильно использовать role в tasks ?
Хочу использовать роль из galaxy https://galaxy.ansible.com/broadsoftware/hdfs_modules
Точнее эта роль по сути набор модулей.
Если делать как в readme - подключать роль в плейбук через - roles, то все работает.
Если подключить роль к таск через include_role, то получаю:
fatal: reason: |-
couldn't resolve module/action 'hdfs_file'. This often indicates a misspelling, missing collection, or incorrect module path.
Sergey
Мерзопакость: https://github.com/nginxinc/ansible-role-nginx-config/blob/main/tasks/config/template-config.yml.
Sergey
Каждый таск обвешан when'ами, при этом все представляют из себя циклы. Разве трудно было это всё унести в defaults, чтобы при отсутствии "включалок" словари/списки были пустыми? Нет, не трудно, но это же надо думать #декларативно.
Отделение Bereke Bank
Отделение Bereke Bank
У меня больше горит с их ямлов на 10000 строк. Хочешь описать один виртхост - пиши 100 строк
George
George
Больше доков богу доков
Sebor▂▅▇█▓▒░
Поэтому я часто свои велосипедыроли пишу)
Ivan
Привет!
Есть у меня такое:
include_role:
name: grafana
tasks_from: datasources
apply:
delegate_to: "{{ item }}"
проблема в том, что таски внутри datasources.yml получают инвентори хоста, откуда были делегированы, а не кому.
delegate_facts я пробовал, но насколько понял, это относится только к новособранным фактам.
я могу извернуться через hostvars[groups..], но есть ли вещи лучше?
Grek 🇺🇦
што за дич?! что вам надо сделать и зачем вызывать таски на делегированом хосте
Ivan
цель подложить графане датасорсы тех сервисов, которые выполняются в текущей роли.
Если сервис есть — он зовёт роль и она подкладывает файл с варсами текущего сервиса, если нет — не подкладывает
Aleksey
Ivan
Grek 🇺🇦
а не проще запускать этот плей на нужной группе хостов?
Aleksey
Он был сделан под влиянием @amarao 2017 года выпуска
Aleksey
С тех пор много воды утекло и вся вода плохая
George
У меня есть убийственный аргумент - include_role - preview и для продакшена не годится.
Aleksey
Ну он может работать но для поддержания требует больших усилий
Alex
А что вместо include_role надо юзать?
Radik
Lamobot
Ivan
roles:
а можно подробнее развернуть мысль, пожалуйста?
Отделение Bereke Bank
roles и пишешь роли которые тебе нужны в нужном порядке
Alex
roles:
Это в пределах плея, а если мне надо в тасках?
Lamobot
Ivan
А что делать, если мне надо в определённый момент это делать?
Ivan
Более того, по вашей ссылке ниже два вполне себе кейса с include_role, в той же документации
Lamobot
Lamobot
А что делать, если мне надо в определённый момент это делать?
Просто на мой взгляд, тэги - странный способ реюзать плейбуки :) Недавно писали о том, что случится, если забыть тэг поставить как-нибудь :)
А второй, запускать роли с условием - тоже странно, всё это делается через группы хостов.
В итоге, функционал не особо нужный.
Если есть примеры реальных кейсов, где это нужно - скажите.
Grek 🇺🇦
Вот у меня кейс:
Несколько ролей для настройки системы. В тестовом окружении можно деплоить на ВМки и на железные хосты. И вот я использую when, где через переменную окружения определяю надо ли выполнять роль деплоя ВМ, или надо сразу на указанные хосты пойти и настроить.
Ivan
Просто на мой взгляд, тэги - странный способ реюзать плейбуки :) Недавно писали о том, что случится, если забыть тэг поставить как-нибудь :)
А второй, запускать роли с условием - тоже странно, всё это делается через группы хостов.
В итоге, функционал не особо нужный.
Если есть примеры реальных кейсов, где это нужно - скажите.
Вот у меня есть роль консул-темплейта и роль кликхауса. Я зову из роли КХ роль к-темплейта, чтобы он мне наделал файлов с переменными, о которых знает лишь роль кх.
Пока опустим кейсы инициализации вообще, пусть всё статично
Lamobot
Lamobot
Grek 🇺🇦
Хороший, я просто ленивый и сделал все в одном плейбуке.
Elenhil
Ну дык "лень" - не юзкейс
Elenhil
Что мешает сделать плейбук "поставить сервисы" и плейбук "создать машину" и импортнуть первый плейбук во второй?
Elenhil
Там одна строчка
Отделение Bereke Bank
Ivan
Bessonov
Товарищи, привет!
Подскажите, пожалуйста, существуюет ли ansible модуль для копирования файлов на шару azure (интересует именно шара, а не blob storage - azure_rm_storageblob)?
есть ощущение что искалка сломалась
Sergey
Ivan
Ivan
но я вас понял
Sergey
Непринципиально. Хоть одну, хоть сто одну - какая разница? Роль по определению должна быть герметична. Максимум, на который я бы пошёл в такой ситуации - вызов из плейбука в роли КХ спец. таски, которая вернёт словарь, который уже можно использовать в следующем вызове роли К-Т.
Sergey
Иначе появляется абсолютно не нужная в ролях связность, когда они друг про друга что-то знают.
Ivan
> который уже можно использовать в следующем вызове роли К-Т.
а если эта роль уже прошла до этого момента? опять выходит звать роль из роли
Sergey
Кстати, подход, когда всё необходимое роли получают из параметров своих вызовов либо из defaults/, реально упрощает жизнь, хотя поначалу кажется чем-то тупым и неудобным. Рекомендую, в общем. Explicit is better than implicit.
Aleksey
Sergey