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
`