2017-09-26 5 views
0

Je suis en train de retravailler mon inventaire ansible pour utiliser ansible-vault. Tout fonctionne bien mais j'ai un problème avec, je pense que la précision des variables. Lorsque je tente d'établir une connexion locale à ansiblemaster (localhost 127.0.0.1), il semble utiliser les mots de passe de la configuration Sudo globale au lieu de celui dans les host_varsAnuling variable precedence and vault

ceci est ma configuration:

  • hosts.ini
  • group_vars/all/config.yml
  • group_vars/all/secrets.yml
  • host_vars/ansiblemaster

J'ai donc défini dans ce group_vars/all/config.yml:

### GLOBAL ### 
ansible_become_password: "{{ secret_ansible_become_password }}" 
ansible_password: "{{ secret_ansible_password }}" 
ansible_user: "{{ secret_ansible_user }}" 

Et j'ai défini dans ce host_vars/ansiblemaster:

ansible_ssh_host: 127.0.0.1 
ansible_user: "{{secret_master_ansible_user}}" 
ansible_password: "{{secret_master_ansible_password}}" 
ansible_become_password: "{{secret_master_ansible_become_password}}" 
ansible_become_user: "{{secret_master_ansible_become_user}}" 
ansible_connection: local 

Je continue à recevoir:

mot de passe : \ nsudo: 1 tentative de mot de passe incorrecte \ n " Lorsque j'exécute un playbook qui établit une connexion locale et exécute sudo.

Est-ce que ma définition dans host_vars/ansiblemaster pas écraser group_vars/all/config?

+0

J'essaierais d'ajouter '.yml' à votre' host_vars/ansiblemaster'. –

+0

Cela ne le résout pas. –

Répondre

0

Je l'ai résolu. Vient à ceci: J'ai eu un local_action: Tâche qui ne prenait pas les variables pour "ansiblemaster" (qui est localhost) ... Je l'ai changé pour utiliser delegate_to: ansiblemaster et maintenant il ramasse les variables dans mon host_vars/

...

ne sais pas si cela est la meilleure pratique.