Ping & playbook runs failing for some boxes

Team,

I’m using ansible to deploy in my AWS production environment. I’m using dynamic inventory and ping & running playbook based on the host tag name. If I run ping for specific tag, 2 out of 5 servers are failing to ping. Similarly I’ve same issues for multiple AWS tags.

root@ip-172-16-0-93:~# ansible --version
ansible 2.1.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides

Config File:

[defaults]
inventory = /etc/ansible/hosts
remote_tmp = $HOME/.ansible/tmp
local_tmp = $HOME/.ansible/tmp
forks = 5
poll_interval = 15
sudo_user = ubuntu
transport = smart
remote_port = 22
module_lang = C

gathering = implicit

change this for alternative sudo implementations

sudo_exe = sudo

SSH timeout

timeout = 60
remote_user = ubuntu

log_path = /var/log/ansible.log

private_key_file = /var/lib/rundeck/.ssh/id_rsa

ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}

set plugin path directories here, separate with colons

action_plugins = /usr/share/ansible/plugins/action
callback_plugins = /usr/share/ansible/plugins/callback
connection_plugins = /usr/share/ansible/plugins/connection
lookup_plugins = /usr/share/ansible/plugins/lookup
vars_plugins = /usr/share/ansible/plugins/vars
filter_plugins = /usr/share/ansible/plugins/filter
test_plugins = /usr/share/ansible/plugins/test
strategy_plugins = /usr/share/ansible/plugins/strategy

fact_caching = memory

[ssh_connection]

ssh_args = -o ControlMaster=auto -o ControlPersist=60s

control_path = /var/lib/rundeck/.ansible/cp/ansible-ssh-%%h-%%p-%%r

pipelining = True

Error:

root@ip-172-16-0-93:~# ansible tag_Ansible_Worker -m ping
ec2----.ap-southeast-1.compute.amazonaws.com | UNREACHABLE! => {
“changed”: false,
“msg”: “SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh”,
“unreachable”: true
}
ec2----.ap-southeast-1.compute.amazonaws.com | UNREACHABLE! => {
“changed”: false,
“msg”: “SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh”,
“unreachable”: true
}
ec2----.ap-southeast-1.compute.amazonaws.com | SUCCESS => {
“changed”: false,
“ping”: “pong”
}
ec2----.ap-southeast-1.compute.amazonaws.com | SUCCESS => {
“changed”: false,
“ping”: “pong”
}
ec2----.ap-southeast-1.compute.amazonaws.com | SUCCESS => {
“changed”: false,
“ping”: “pong”
}
ec2----.ap-southeast-1.compute.amazonaws.com | SUCCESS => {
“changed”: false,
“ping”: “pong”
}

Thanks in Advance,

Siva.

Add -vvvv to the ansible command so that you can see the ssh arguments in use.