My Ansible AWS EC2 instance creation script gives this error.
"Timeout when waiting for 172.31.25.6:22"}
to retry, use: --limit @/root/instance/provision-ec2.retry
this code is causing problem, Please let me know, how to solve this.
*- name: Wait for the instances to boot by checking the ssh port wait_for: host={{item.public_ip}} port=22 delay=60 timeout=220 state=started with_items: "{{ ec2.instances }}" ~ *
here is the entire code.
What happens if you increase the delay?
If i increase the delay, in that condition also, it gives the same error.
when i ran the above scripts in ansible-playbook --check debug option.
it gave this error
fatal: [localhost]: FAILED! => {“msg”: “‘dict object’ has no attribute ‘instances’”}
to retry, use: --limit @/root/instance/provision-ec2.retry
so i commented this part in the main.yml file, and now it runs ok, but does not wait for the machine to come up.
- debug: var=item
with_items: “{{ ec2.instances }}”
- add_host: name={{ item.public_ip }} >
groups=tag_Type_{{ec2_tag_Type}},tag_Environment_{{ec2_tag_Environment}}
ec2_region={{ec2_region}}
ec2_tag_Name={{ec2_tag_Name}}
ec2_tag_Type={{ec2_tag_Type}}
ec2_tag_Environment={{ec2_tag_Environment}}
ec2_ip_address={{item.public_ip}}
with_items: “{{ ec2.instances }}”
- name: Wait for the instances to boot by checking the ssh port
wait_for: host={{item.public_ip}} port=22 delay=60 timeout=320 state=started
with_items: “{{ ec2.instances }}”
now it runs Ok. but does not waits for the machine to come up.