Hi everybody!

It seems, inventory aliases does not work if trying to connect to hosts 
behind NAT with same address and different ssh_port.

I,m wondering, if I have made some mistake in configuration, or it is a bug 
or known feature?


*Ansible version:*
d.lomanchuk@LenovoX220i:~/.ansible$ ansible --version
ansible 2.2.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

*My inventory:*
d.lomanchuk@LenovoX220i:~/.ansible$ cat test_inventory
[denet]
mycoolbox ansible_host=192.168.1.202 ansible_port=2210 ansible_user=dmitry 
ansible_password=*******
le_lxc ansible_host=192.168.1.202 ansible_port=2323 ansible_user=dmitry 
ansible_password=*******


Trying to ping hosts i see failures sometimes:

d.lomanchuk@LenovoX220i:~/.ansible$ ansible -i test_inventory -m ping all
le_lxc | FAILED! => {
    "failed": true, 
    "msg": "failed to transfer file to 
/home/dmitry/.ansible/tmp/ansible-tmp-1489399666.62-12650861868843/ping.py:\n\nscp:
 
/home/dmitry/.ansible/tmp/ansible-tmp-1489399666.62-12650861868843/ping.py: 
No such file or directory\n"
}
mycoolbox | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}


But, if I try to ping them again immediately after such failure, everything 
looks good:

d.lomanchuk@LenovoX220i:~/.ansible$ ansible -i test_inventory -m ping all
mycoolbox | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
le_lxc | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}


However, if I try to run *hostname* command via "shell" module immediately 
after that, I see that ansible connects to the same host (one of all):

d.lomanchuk@LenovoX220i:~/.ansible$ ansible -i test_inventory -m shell -a 
"hostname" all
le_lxc | SUCCESS | rc=0 >>
denetpbx

mycoolbox | SUCCESS | rc=0 >>
denetpbx




Aliases works as expected, only if I type them in /etc/hosts on my machine.


d.lomanchuk@LenovoX220i:~/.ansible$ tail -n 2 /etc/hosts 
192.168.1.202 mycoolbox
192.168.1.202 le_lxc


Then, everything works as expected.

d.lomanchuk@LenovoX220i:~/.ansible$ ansible -i test_inventory -m shell -a 
"hostname" all
le_lxc | SUCCESS | rc=0 >>
letsencrypt

mycoolbox | SUCCESS | rc=0 >>
denetpbx

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/5a9b7c19-8779-46dd-bea6-9f9966d510d0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to