Does anyone have an example of waiting for an Elastic IP address to
become "ready" to access? Apparently, waiting for state=started and
port 22 to become accessible (see below) is not sufficient. The
next step after this usually fails because the Elastic IP isn't ready yet.
J
=================================
- name: Start a test instance
hosts: 127.0.0.1
connection: local
gather_facts: no
vars:
my_elastic_ip: aa.bb.cc.dd
key: somekey
instance_name: MYFUNTEST
image: ami-0000000
instance_type: m3.large
region: us-east-1
security_group: test
tasks:
- name: Start an instance
local_action:
module: ec2
instance_tags:
Name: '{{ instance_name }}'
key_name: '{{ key }}'
image: '{{ image }}'
region: '{{ region }}'
group: '{{ security_group }}'
instance_type: '{{ instance_type }}'
wait: True
register: ec2_info
- add_host: hostname={{ item.public_ip }} groupname=ec2hosts
with_items: ec2_info.instances
- name: Tie elastic IP to the instance
ec2_eip: instance_id={{ item }} region={{ region }} public_ip={{
my_elastic_ip }}
with_items: ec2_info.instance_ids
- name: wait for instances to listen on port:22
wait_for:
timeout=480
state=started
host={{ item.public_ip }}
port=22
with_items: ec2_info.instances
--
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/742d37d4-144e-4dd1-9141-f05f066a7c3f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.