Using register with exact_count when launching an instance on EC2

406 views
Skip to first unread message

Ofer Herman

unread,
Jul 9, 2014, 4:50:08 AM7/9/14
to ansible...@googlegroups.com
Hi,

I'm using exact_count when  creating an instance on EC2, when the instance already exists the next action fails with the following error:
fatal: [localhost] => One or more undefined variables: 'unicode object' has no attribute 'public_ip'

This is the playbook:
- name: Provision EC2 SC instances
  local_action:
        module: ec2            
        region: "{{ aws_region }}"
        keypair: "{{ aws_keypair }}"
        group: ansibleDefault
        instance_type: "{{ aws_instanceType }}"
        image: "{{ aws_image }}"
        exact_count: 1
        count_tag: 
          Class: "websever"
        vpc_subnet_id: "{{ vpc.subnets[0].id }}"
        assign_public_ip: True
        instance_tags: { "Class":"webserver" }
        wait: yes
  register: ec2_info

- name: Wait for SSH to come up
  local_action: wait_for host={{ item.public_ip }} port=22 delay=60 timeout=320 state=started
  with_items: ec2_info.instances

How can the playbook continue even if the instance exist?

Thanks,
Ofer

Michael Peters

unread,
Jul 9, 2014, 11:03:42 AM7/9/14
to ansible...@googlegroups.com
Try using debug on ec2_info to see what it contains. It seems that
instances is coming back with a list of strings and not a list of
objects like you thought.
> --
> 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 ansible-proje...@googlegroups.com.
> To post to this group, send email to ansible...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/1f0d1a69-9bf6-4021-9d4f-33b53d907d4b%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Michael DeHaan

unread,
Jul 9, 2014, 3:53:52 PM7/9/14
to ansible...@googlegroups.com
For clarity, this:

- debug: var=ec2_info




Stuart Reynolds

unread,
Jul 9, 2014, 5:47:30 PM7/9/14
to ansible...@googlegroups.com
ec2_info.tagged_instances? Does that give all of the instances matching the tag, whether or not they we created in the prior step. 
Test with:
- debug: var=ec2_info

Craig Marvelley

unread,
Nov 11, 2015, 6:43:45 AM11/11/15
to Ansible Project
Was a solution ever found for this problem? Have the same problem where sometimes the ec2 module launches instances and sometimes it doesn't, but I want to work with the data of the running instances regardless.
Reply all
Reply to author
Forward
0 new messages