J'ai un playbook Ansible avec coffre-fort, et je veux demander le mot de passe du coffre-fort via la boîte d'invite dans mon interface Web, puis transmettre le mot de passe publié lors de l'exécution du playbook ansible. J'ai essayé d'utiliser:
echo $password | ansible-playbook test.yml --ask-vault-pass
pour passer le mot de passe au playbook, mais cela ne fonctionne pas, le message d'erreur est:
"msg": "Tentative de déchiffrement mais aucun secret de coffre-fort n'a été trouvé"
Je ne veux pas stocker le mot de passe dans un fichier pour certaines résons et maintenant je veux juste essayer de passer automatiquement le mot de passe au playbook pendant son exécution. Y a-t-il des conseils pour moi? La version ansible est 2.4.
Voici comment je fais les choses et cela fonctionne bien. Ma ligne de commande ressemble à ceci:
[Prompt/]$ansible-playbook -i <inventory>, /mnt/m/NetworkGetters/get_vpn_status.yml --extra-vars varsfilepath=/mnt/m/NetworkVars/Host_vars/test-oci-test-vpn-config.yml
Mon mot de passe aseptisé.yml (fichier vault) ressemble à ceci:
---
credentials:
base: &base
Host: "{{ansible_Host}}"
timeout: 30
transport: cli
svc_rhelsystemrw:
<<: *base
username: svc_rhelsystemrw
password: dWERE#@kds23
Mes playbooks suivent cette convention:
name: Set VPN Configuration
hosts: all
connection: local
gather_facts: no
vars_files:
- "{{ varsfilepath }}"
- "/etc/ansible/NetworkVars/passwords.yml"
vars:
# ssh_auth credentials come from ansible vault
provider_rw:
username: "{{ credentials['svc_rhelsystemrw'].username }}"
password: "{{ credentials['svc_rhelsystemrw'].password }}"
tasks:
- name: Capture Pre-change Configuration
ios_command:
provider: "{{ provider_rw }}"
commands:
- show running-config
register: running_config_before
tags: vpn
- debug:
var: running_config_before.stdout
tags: vpn
@All Assurez-vous que vous ajoutez vault_password_file = dans la section [defaults] du fichier ansible.cfg.
J'étais confronté au même problème lorsque j'ai ajouté vault_password_file = dans une autre section qui a été résolue après l'avoir déplacé dans [valeurs par défaut]
tentez votre chance si cela vous aide.