Reputation: 939
I have this error when I launch my playbook against the localhost host.
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
And my hosts file have this config:
[local]
127.0.0.1
What is the problem?
Thanks!
Upvotes: 49
Views: 54488
Reputation: 495
It could be done way more easier.
Under the [defaults] section of the ansible.cfg file, just paste the following line:
transport = local
Upvotes: 2
Reputation: 2072
What works for me is not including the localhost in the inventory and only specifying it in the hosts pattern.
i.e. hosts: localhost
This seems to imply local connection to ansible
Upvotes: 1
Reputation: 60079
Ansible by default tries to connect through ssh. For localhost you should set the connection to local
.
You can define this when calling the playbook:
ansible-playbook playbook.yml --connection=local
Define it in your playbook:
- hosts: local
connection: local
Or, preferable, define it as a host var just for localhost/127.0.0.1. Create a file host_vars/127.0.0.1
relative to your playbook with this content:
ansible_connection: local
You also could add it as a group var in your inventory:
[local]
127.0.0.1
[local:vars]
ansible_connection=local
or as a host var:
[local]
127.0.0.1 ansible_connection=local
See Behavioral Parameters in docs.
Upvotes: 120