Hi,
I'm currently testing Ansible for deploying instances on AWS. To reach
hosts in private subnets, I'm using a bastion host. When deploying new
instances I have a task that waits for the ssh port of the new instance to
come up before proceding.
During the creation of the instance I also update my local inventory file
with the ip of the instance and the ansible_ssh_private_key_file (aws
generated key-pair) like this:
x.x.x.x ansible_private_key_file=~/.ssh/instance.pem
However, the task that waits for the ssh port to come up gives a timeout.
This is the wait_for task:
- name: Wait for SSH
wait_for:
host: "{{ item.private_ip }}"
port: 22
delay: 60
timeout: 320
state: started
with_items: "{{ ec2.instances }}"
The host variable resolves to the correct ip of the new instance.
In my ssh config file I have configured the bastion host for each subnet.
And ssh'ing into the new instance works without issues. I can also
perfectly run ad-hoc commands against the new instance.
This is the ansible_cfg I'm using:
[defaults]
inventory=./hosts
ProxyCommand="ssh -W %h:%p -q centos@<ip bastion host>"
host_key_checking=False
[ssh_connection]
ssh_args=-o ForwardAgent=yes
I also tried delegating the wait task to the bastion host, but that results
in the same error. Is there something I'm missing?
Vincent
--
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/CAO3_%2BAGxk-Y%3DBWOH14dGVmVgSR5YbqGno-4b%3D3biZ8NwBFBvBA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.