Hi,
I use docker to run (network namespaced) VPN...
I have to use a custom ProxyCommand, per VPN, to access the other side with
Ansible, so far so good...
So I'm using Ansible to find the right container and then add_host to set
it up (as everything is dynamic) with:
- name: Add VPN host
add_host:
name: "{{ item }}"
groups: vpn
ansible_ssh_extra_args: "-o StrictHostKeyChecking=no -o
ProxyCommand=\"ssh -q user@{{ inventory_hostname }} docker exec -i {{ item
}} nc %h %p\""
ansible_ssh_user: "user"
ansible_host: "10.0.0.1"
with_items: "{{ vpn_container_names }}"
This works great with ssh directly and also "seems" to work with ansible,
but I only get to access the first container with subsequent loops.
It is as if adding them with the same ansible_host did nothing, even though
the name (container_xyz_1) was different...
I would have thought that "name" + "ansible_host" + ssh options would be
used as the unique pair, but it seems something like this is not
sufficiently unique in a dynamic inventory context:
# name= & ansible_host= (what it would look like in a file from my
understanding)
container_001122334455_1 ansible_host=10.0.0.1 ansible_ssh_extra_args=...
ansible_ssh_user=user
container_667788990011_1 ansible_host=10.0.0.1 ansible_ssh_extra_args=...
ansible_ssh_user=user
etc.
Even though they all have the ProxyCommand that IS unique and works great
on its own:
ssh -o StrictHostKeyChecking=no -o ProxyCommand="ssh -q
[email protected] docker exec -i container_001122334455_1 nc %h %p"
[email protected]
ssh -o StrictHostKeyChecking=no -o ProxyCommand="ssh -q
[email protected] docker exec -i container_667788990011_1 nc %h %p"
[email protected]
...
So am I correct in assuming that host uniqueness is only based on
ansible_host and doesn't care about the host's "name" if ansible_host is
set?
if so, should it be based on all the relevant variables: name, host &
options (ansible_ssh_extra_args, etc.) considering different virtualization
cases or remote network namespaces with jump hosts with similar IP space?
Or do I simply have a bug in my playbook?
(which would actually be great news as I'm not sure how to go around this
issue otherwise!)
Thanks a lot, :)
Alex
--
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/ee3a95e4-27ad-4eb3-840d-83dffc7d85a7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.