web-dev-qa-db-fra.com

Connexion Ansible SSH ERROR dans localhost

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!

23
Miguel

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

Voir Paramètres comportementaux dans les documents .

60
udondan

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

0
Erich

Cela pourrait être fait beaucoup plus facilement.

Sous la section [defaults] du fichier ansible.cfg, collez simplement la ligne suivante:

transport = local