Konstantin
Строка запуска примерно такая ansible-playbook -i inventory.yml --vault-password-file vault playbook.yml
Lamobot
Lamobot
Lamobot
Попробуйте переменную в отдельный var файл положить, и проверить расшифровывается или нет так. В доке был вариант.
https://docs.ansible.com/ansible/latest/user_guide/vault.html#viewing-encrypted-variables
Скорее всего или в инвентарь криво уехала, или с паролем беда :)
Aliaksei
а вообще как вы используете uri модуль для запросов get\post куда-то т.е по большинству сценариев он запускается на целевой машине и вас это не парит?
поделитесь кто как использует
Lamobot
Отделение Bereke Bank
Alex
Konstantin
Alexander
Народ, я тут вчера про копирование файлов спрашивал более быстрое чем copy, посоветовали синхронайз.
У меня плейбук выполняется с become: yes и соответственно синхронайз падает с ошибкой:
no tty present and no askpass program specified
Кроме как добавления NOPASSWD для rsync в этом случае сделать ничего нельзя?
Lamobot
Alexander
Grek 🇺🇦
Alexander
RHEL/CentOS 7
Grek 🇺🇦
а юзер то может туда писать?
Alexander
Юзер - может. Но владелец root.
Alexander
В принципе, это из коробки так, я мог бы переопределить.
Grek 🇺🇦
а рсинк на целевом хосте есть же?
Alexander
Есть
Alexander
С NOPASSWD отрабатывает
Sergey
Alexander
Alexander
Но с become я получаю ошибку "no tty present and no askpass program specified"
Alexander
Ага
Sergey
Ага
Ну я так и написал - это bad practice. Кстати, а на что выписано sudo?
Alexander
Alexander
Хех...
Отделение Bereke Bank
))0)
Ivan
Првиет!
А ansible_env['SSH_CLIENT'] пропал или я чего-то не понимаю?
Aleksey
а его и не было никогда
Aleksey
интернет на любую тему говорит
Aleksey
это переменная оружения появляется от ssh клиента
Ivan
АГа, что-т опроизошло и теперь gather_facts надо делать руками
Ivan
спасибо
Aleksandr
Коллеги, утра. подскажите элегантный способ решения задачи. на анс перекатываюсь с салта, поэтому не все пока понимаю.
* Есть роль для раскатки юзеров.
* Есть дефолтные юзеры которых надо лить везде
* Есть user per service/server
* Есть разные площадки(цоды)
пока реализовано как 1 плейбука, в которой задачи на all для разливки админов. и там же понапиханы отдельными кусками задачи для проливки юзеров в зависимости от роли сервера.
вроде все ок, но выхватываю warning что такая-то роль серверов не найдена(не все сервиы есть во всех цодах)
Как это правильно реализовывать в парадигме ансибла? под каждый цод сделать отдельные плейбуки?
Aleksandr
думал про вариант
playbooks
|_ users
|_цод1
|_цод2
Sergey
Lamobot
Aleksandr
#LDAP ноябрь
а можно исходный пост?) а то поиск по хештегу ведет в вопросы)
Aleksandr
Lamobot
Ну и критика, что так делать не нужно.
Aleksandr
ну лдап городить тоже не хочется. вот прям от слова совсем.
Aleksandr
основная задача ключи пролить)
Sergey
Sergey
Sergey
основная задача ключи пролить)
Основная задача, насколько я понимаю - вообще-то предоставить доступ с заданной гранулярностью. А залить фиксированные ключи Ансиблом - это не слишком удачный вариант решения основной задачи, потому что у задачи предоставления доступа изначально есть тёмный двойник - отзыв доступов.
А проверить это очень просто: вот у того человека, который поставил задачу "предоставить доступ", уточни: нужно ли будет его отзывать, или он, условно, "навсегда" - до окончания срока жизни хоста?
Lamobot
Но вообще можно и одним плейбуком, просто вам нужно будет прописать пачку плеев по группам сервисов/серверов. И в group_vars/host_vars прописать пользователей, которых нужно установить, или как там у вас роль устроена.
Скорее всего, будут проблемы со склеиванием списка пользователей для конкретной машины.
И Сережа прав, ещё куча проблем с поддержкой и дальнейшим использованием.
Sergey
Lamobot
Aleksandr
скажем так, ради 10 юзеров городить лдап я не буду точно. следить в моем случае это не проблема от слова совсем. временные доступы решаются проставкой экспайра на учетку.
“отзыв” через абсент не вижу проблем тоже делать.
ну да ладно. это уже лирика. но направление я понял, спасибо @Lamobot и на какие грабли не прыгать, тоже понял) спасибо @tnt4brain будем искать варианты.
Lamobot
Aleksandr
Lamobot
о, гуд. спасибо!
Ещё есть вопрос, по каким причинам ушли от salt в сторону ansible?
Lamobot
Lamobot
Как ты решил проблему, что у тебя группа есть в обеих цодах, и у них общие групповые переменные? :)
Aleksandr
а кто-то юзает ансибл без гита? 0_о
Vladimir
Aleksandr
посмотрю спс.
Aleksandr
я кстати правильно понял что сейчас awx это тот же tower только без сапорта и по сути тупо dev ветка и полигон для тестов?
Lamobot
Я пока для себя проще сделал
inventories/
DC1.yml
DC2.yml
group_vars/
host_vars/
При этом можно как сразу на весь инвентарь запустить плейбук -i inventories или на каждый ДЦ в отдельности -i inventories/DC1.yml
Lamobot
У меня таких немного, я их прямо в DC1.yml и DC2.yml прописал :)
Lamobot
Вроде когда-то задавали вопрос, как выделить доступные хосты из группы в отдельную?
Есть краткое решение при помощи group_by модуля https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_by_module.html
После любой таски, на которой недоступные хосты зафейлятся сделать
# Add all active hosts to a static group
- group_by:
key: <название группы>
Yusif
Привет, ребята
Пытаюсь вызвать модуль темплейт j2 из роли, но выдаёт ошибку о неизвестных переменных
Это корректное поведение?
Fire
Yusif
Возможно.
вызов переменных в roles/x/vars/main.yml из roles/x/tasks/main.yml возможен без указания пути?
Grek 🇺🇦
А не наоборот?
Yusif
Yusif
Всё пашет правильно, ребята, просто глупая опечатка была.
Yusif
Со вчерашнего вечера перерыл всё :)
Василий
Всем привет. Как сделать loop in loop:
a:
-1
-2
-3
b:
-4
-5
-6
c:
-7
-8
-9
- debug:
var: SERVICE[item]
loop: "{{ services }}"
Запускаю так:
—exrta-vars='{"services":["a","c"]}'
я хочу чтобы цикл прошелся только по a,c указываю на вход список services [a,c], и теперь для каждого элемента списка services хочу вывести их значения [1,2,3],[7,8,9]
Анатолий
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/nested_lookup.html