J'ai cette erreur lorsque je lance mon playbook contre l'hôte localhost.
TASK [setup] *******************************************************************
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true}
to retry, use: --limit @deploy-test-env.retry
PLAY RECAP *********************************************************************
127.0.0.1 : ok=0 changed=0 unreachable=1 failed=0
Et mon fichier d'hôtes a cette configuration:
[local]
127.0.0.1
Quel est le problème?
Merci!
Par défaut, Ansible essaie de se connecter via ssh. Pour localhost, vous devez définir la connexion sur local
.
Vous pouvez définir cela lors de l'appel du playbook:
ansible-playbook playbook.yml --connection=local
Définissez-le dans votre playbook:
- hosts: local
connection: local
Ou, de préférence, définissez-le en tant que var hôte uniquement pour localhost/127.0.0.1. Créez un fichier Host_vars/127.0.0.1
par rapport à votre playbook avec ce contenu:
ansible_connection: local
Vous pouvez également l'ajouter en tant que groupe var dans votre inventaire:
[local]
127.0.0.1
[local:vars]
ansible_connection=local
ou en tant que var hôte:
[local]
127.0.0.1 ansible_connection=local
Ce qui fonctionne pour moi, c'est de ne pas inclure l'hôte local dans l'inventaire et de le spécifier uniquement dans le modèle d'hôtes.
c'est-à-dire hôtes: localhost
Cela semble impliquer une connexion locale à ansible
Cela pourrait être fait beaucoup plus facilement.
Sous la section [defaults] du fichier ansible.cfg, collez simplement la ligne suivante:
transport = local