Я пытаюсь настроить Ansible для управления ящиками Linux от разных клиентов, и вот с чем нам нужно работать.
sudo
но опять же, это займет некоторое время.Мне удалось создать доступный файл хранилища для каждого клиента с ansible_ssh_user
и ansible_ssh_pass
в нем и в следующем плей-бук работает нормально.
---
- hosts:
- SERV01
- SERV02
vars_files:
- roles/common/vault/main.yml
tasks:
- name: enable and start ntpd
service: name=ntpd enabled=yes state=running
Теперь я хотел бы знать, как использовать файлы хранилища из командной строки, но ни одно из следующих действий не помогло.
ansible customer1 -m shell -a "var_files:roles/common/vault/main.yml uptime" --ask-vault-pass
ansible customer1 -m shell -a "uptime" -e "vars_files:roles/common/vault/main.yml" --ask-vault-pass
Что я делаю не так ?
Спасибо
Наконец я понял, как это сделать:
ansible customer1 -e @group_vars/vault/customer1.yml --ask-vault-pass -m shell -a uptime
Теперь я могу поставить ansible_ssh_user
, ansible_ssh_pass
и ansible_sudo_pass
в файле хранилища, и все, что мне нужно запомнить, - это пароль хранилища.
Я надеюсь, что это сделает Ansible более приятным для вас.
Спасибо
Я не уверен, сможет ли Ansible это сделать. Если нет, то можно сделать это
ansible customer1 -e "`ansible-vault view roles/common/vault/main.yml | grep ansible_ssh_pass`" -m shell -a uptime