Pavel
вот отсюда
Womchik
а оно умеет? не цикл ли нужен?
Pavel
ну вот вопрос со всякими copy итд умеет
Timur
Что вы сделать-то хотите?
Pavel
ну наверно потому что нужен rsync
Pavel
с хоста ansible засинхронить директорию по всем хостам
Timur
Так модуль synchronize и есть обертка над rsync
Pavel
Так модуль synchronize и есть обертка над rsync
так поэтому его и использую)
Pavel
логично же
Timur
Зачем в dest rsync путь пихать при этом?
Womchik
так это свойство самого ансибла, а не конкретного модуля
Womchik
ну и юзай первый пример
Womchik
хост ансибл возьмёт из инвентори
Pavel
ок щас чекну 1 вариант
Pavel
незнаю почему он мне не понравился 😕
Artur
у awx'а в уведомлениях ( вебхук) есть какие нибудь аргументы ? $message, $task_name к примеру. в офф доках не нахожу
Pavel
хост ансибл возьмёт из инвентори
Он берёт учётку,но требует ввести пароль теперь) это косяк. я почитал про это,оказывается с версии 1.9 такая трабла есть. PLAY [Winserversssh] ************************************************************************************************************************************************************* TASK [Rsync to hosts] ****************************************************************************************************************************************************** xxxx@x.x.x.x's password:
Pavel
это не проблема модуля
ну мне пока сложно рассудить,но судя по всему он базово использует локального пользователя а не того что добавлен в инвентори
Pavel
и через аргументы блин --password-file не подсунешь так как нужен вызов в качестве демона :(
Timur
ну мне пока сложно рассудить,но судя по всему он базово использует локального пользователя а не того что добавлен в инвентори
Ансибл по умолчанию запускает все задачи из-под того пользователя, каким подключается к хосту
Timur
Если выполнение идёт на локальном хосте, то выполняется от того пользователя, под которым был запущен ансибл
Timur
Повышение привилегий, если нужно, реализуется через директивы become...
Pavel
become: yes become_user: xxx
Pavel
я использовал эту конструкцию
Pavel
он всё равно не затягивает данные из inventory,а запрашивает ввод пароля
Pavel
подозреваю что адекватное решение это как раз раскидать ключи пользователя из под которого запущен ansible на хосты
Timur
он всё равно не затягивает данные из inventory,а запрашивает ввод пароля
А при чем тут инвентарь? Если при выполнении таска у вас запрашивается пароль, значит у пользователя просто нет прав на повышение привилегий без пароля
Timur
Вопрос назначения правильных прав - это не задача ансибла или тем более инвентаря
Timur
Если у вас исключительно парольная авторизация, то ансибл умеет такую вещь как ansible_become_pass
Timur
Только нужно не вешать дополнительный запрос пароля на ключ
Timur
И если задачи требуют повышения прав, нужно дать юзеру права на sudo без пароля
Pavel
Если у вас исключительно парольная авторизация, то ансибл умеет такую вещь как ansible_become_pass
посмотрю,пока что парольная,будет домен политику поменяю,пока что период обката и возможностей технологий
Timur
Если у вас исключительно парольная авторизация, то ансибл умеет такую вещь как ansible_become_pass
Pavel
да я написал почитаю,спасибо за наводку и консультацию)
Timur
Только тут желательно дополнительную защиту в виде vault прикручивать
Pavel
это естественно
Pavel
в открытом виде хранить не комильфо
Pavel
но всё в порядке очереди,руки только 2
kbks
День добрый. Господа, есть "{{ groups['envname-app'] }}" Как сделать что б envname воспринималась как переменная? Те при запуске с -e "envname=qa" получать "{{ groups['qa-app'] }}"
kbks
о, получилось) "{{ groups[envname+'-app'] }}"
Денис
groups[envname~'-app']
Денис
для конкатенации лучше ~
Денис
это нативный способ для jinja, а "+" это вроде перегрузка, и может в некоторых случаях давать неожиданный результат
kbks
пойду погуглю что такое конкатенация
kbks
а есть примеры неожиданных результатов?
Timur
Зачем такая странная задача по параметризации имени группы?
Womchik
а кто как называет юзера, которым анзибл на серваки ходит? я вот склоняюсь к hodor
Отделение Bereke Bank
ansible
kbks
Опять программирование на ямле? 🥴
никакого программирования. обычные плейбук, который берет данные из динамического инвентори
kbks
Сложение строк
уже нашел к тому моменту. спасибо
kbks
Зачем такая странная задача по параметризации имени группы?
А как еще можно унифицировать одну плейбуку/роль на несколько енвов, где одинаковая инфра?
Womchik
ansible
а если я его потом заменю на chef?
kbks
одинаково назвать группа в разных env
не получится.У нас такой неминг конвеншн. Группы хостов dcenv-application (так они и группируются в динамическом инвентори). Что-то типа finqa-application, те в данном примере -e "env=finqa" qa env в одном дц, стейдж и прод в других. При чем в каждом дц свои енвы.
kbks
те в другом дц с тем же энвом (стейдж к примеру) нельзя назвать группу так же
Pavel
а кто как называет юзера, которым анзибл на серваки ходит? я вот склоняюсь к hodor
1.А кто как называет пользователя под которым ходит ансибл ? 2.А кто на какие айпишники натравил ансибл? 3.Brutforce 4.Profitt:) Хороший у тебя план
Artur
План падет, если юзать ключи
Womchik
а есть кто-то с паролём на сотню хостов ходящий?
Ждун
я в домашней сети по виндовым машинкам (все 5 штук) хожу с паролем 🙈
Womchik
каминаут
Ждун
:D я не скрывал это никогда )))
Ждун
там даже сертификат если использовать все равно пароль нужен 😊
Timur
А как еще можно унифицировать одну плейбуку/роль на несколько енвов, где одинаковая инфра?
Делать разный инвентори. Тем более, что он у вас динамический
Timur
не получится.У нас такой неминг конвеншн. Группы хостов dcenv-application (так они и группируются в динамическом инвентори). Что-то типа finqa-application, те в данном примере -e "env=finqa" qa env в одном дц, стейдж и прод в других. При чем в каждом дц свои енвы.
Это все в инветнори обрабатывается. Можете либо просто генерить инвентори динамически по нужному шаблону, либо, если хотите все делать ансиблом, вызывать пре-таски или дополнительный плей перед нужными ролями, которые будут заносить в соответствующие группы нужные вам хосты
Timur
Т.е. сначала формируете нужный инвентарь, а потом запускаете роль на нужные группы
Timur
Но динамически менять имена групп при вызове - это плохой подход
kbks
Делать разный инвентори. Тем более, что он у вас динамический
он и так дергается разный, в зависимости от дц. Но нейминг конвеншн остается. И название группы формируется исходя из дц и енва.
kbks
в смысле зачем?