}}"
ansible_sudo_pass: "{{ secret[inventory_hostname].password | d('default_password') }}"
в папке: /home/user/.ansible/group_vars/all
Соответственно есть файл с юзер+пароль, связка работает - на сервера конектится, модуль apt ставить библиотеки
НО, когда я запускаю:
- debug:
var: ansible_env.HOME
я получаю папку /root
Ожидаемое поведение: хочется получить в фактах папку удалённого юзера, указанного в папке с юзер+пароль
Комент: если я выставляю в плэйбуке
become_user: "{{ secret[inventory_hostname].user | d('default_user') }}"
тогда факты собираются от нужного мне юзера
Вопрос:
1) Разве факты не должны собираться от юзера, указанного в глобальных переменных?
2) Как сделать/нужно ли делать так, чтобы факты по дефолту собирались от юзера из папки с паролями
(или в каждом плэйбуке выставлять become_user)
Для дебага пользовался статьёй с хабра
https://habr.com/ru/articles/575880/
Первый коммент к статье, что вы дали. Собирайте факты без become
Поместил become: true в таск и заработало, спасибо😅
Или не заработало... Получил ошибку (при выполнении баш скрипта на удалённой машине): No module named 'pipenv' При этом: если поставить become_user: root_user1 в корень плэйбука, то скрипт работает если поставить become: true в таск, то выдаёт ошибку, что модуля нет (хотя в фактах домашняя папка текущего пользователя) Вопрос: с каким ещё фактом может быть связана данная ошибка? Куда копать?)
Обсуждают сегодня