Коллеги, помогите решить вопрос. Сразу условие: менять настройки на target машинах

нельзя.

Есть вот такой вот плейбук:

---
- hosts: elastic
become: yes
tasks:
- name: ping
action: command id

Неважно что он делает на самом деле, потому что проблема возникает при запуске:
ansible-playbook --inventory ~/ansible/ansible-playbooks/inventories/production/hosts \
--vault-password-file ~/ansible/vault.passwd \
--ask-pass \
--ask-become-pass \
~/ansible/test.yml

Проблема:
TASK [Gathering Facts] *********************************************************************************************************************************************************************************
fatal: [elastic2.tld]: FAILED! => {"ansible_facts": {}, "changed": false, "failed_modules": {"setup": {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "failed": true, "module_stderr": "Shared connection to 10.72.55.66 closed.\r\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1, "warnings": ["Platform linux on host elastic2.tld is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information."]}}, "msg": "The following modules failed to execute: setup\n"}
fatal: [elastic3.tld]: FAILED! => {"ansible_facts": {}, "changed": false, "failed_modules": {"setup": {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "failed": true, "module_stderr": "Shared connection to 10.72.55.67 closed.\r\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1, "warnings": ["Platform linux on host elastic3.tld is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information."]}}, "msg": "The following modules failed to execute: setup\n"}
[WARNING]: Platform linux on host elastic1.tld is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
ok: [elastic1.tld]
Я стал искать причину и нашёл: на elastic1 sudo запрашивает пароль, а на elastic2 и elastic3 в конфиге стоит NOPASSWD. Напоминаю что менять конфигурацию машин нельзя.

Как можно (не разнося машины на разные группы) «обойти» проблему?

3 ответов

25 просмотров

You can define different become options for each managed node or group. You can define these variables in inventory or use them as normal variables.

Andrey-Mavlyanov Автор вопроса
Timur Gadiev
You can define different become options for each m...

но там нет такой переменной типа "ask_become_password: true"

Andrey Mavlyanov
но там нет такой переменной типа "ask_become_passw...

https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-become-ask-pass

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Доброе утро, мультиязычные сайты делал кто-нибудь? Какие подводные камни? Нужно чего нибудь допом ставить? Как поступить? В теории сделать две папки ru en и туда кидать страни...
Racoon Mitya
2
Карта сайта