Hey Navid, you couldn't post an example could you? 

I seem to be running into the same problem as you, but 1.8.2 nor the 
brackets are fixing the problem.

On Friday, 12 December 2014 01:21:42 UTC, Navid Paya wrote:
>
> Thanks, James. Upgrading Ansible from 1.8.1 to 1.8.2 and adding the braces 
> totally did the job.
>
> On Thu, Dec 11, 2014 at 11:30 PM, James Cammarata <[email protected] 
> <javascript:>> wrote:
>>
>> Hi Navid, what version of Ansible are you running? You might try using 
>> jinja2 braces around the ec2.instances variable in the with_items list, as 
>> there was a bug recently about variables like that not expanding properly 
>> (which should be fixed in 1.8.2).
>>
>> On Thu, Dec 11, 2014 at 8:36 AM, Navid Paya <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hi all
>>> I'm trying to make some kind of automation to create an AMI out of an 
>>> EC2 instance. So I have this chunk that creates the instance:
>>>
>>> - name: Launch an Ubuntu 14.04 EC2 instance
>>>   hosts: localhost
>>>   connection: local
>>>   gather_facts: no
>>>   tasks:
>>>   - name: Find the latest Ubuntu AMI
>>>     ec2_ami_search: distro=ubuntu release=trusty region=ap-southeast-1 
>>> store=ebs-ssd virt=hvm
>>>     register: ubuntu_image
>>>   - name: Start the new EC2 instance
>>>     ec2:
>>>       image: "{{ ubuntu_image.ami }}"
>>>       region: ap-southeast-1
>>>       zone: ap-southeast-1b
>>>       instance_type: t2.small
>>>       vpc_subnet_id: xxxxxxxxxxxxxxxx
>>>       group_id: ['sg-xxxxxxxx', 'sg-xxxxxxx']
>>>       key_name: random_key
>>>       wait: yes
>>>       wait_timeout: 500
>>>     register: ec2
>>>   - name: Add the new instance to host group
>>>     add_host: hostname={{ item.private_ip }} groupname=launched
>>>     with_items: ec2.instances
>>>   - name: Wait for SSH to come up on the new instance
>>>     wait_for: host={{ item.private_ip }} port=22 delay=60 timeout=320 
>>> state=started
>>>     with_items: ec2.instances
>>>
>>> Then I try to use the instance and generate an AMI out of that:
>>>
>>> - name: Create an AMI from the provisioned instance
>>>   hosts: localhost
>>>   connection: local
>>>   gather_facts: no
>>>   tasks:
>>>   - ec2_ami: region=ap-southeast-1 instance_id={{ item.id }} wait=no 
>>> name=basebox-2000000
>>>     with_items:
>>>       - ec2.instances
>>>
>>> - name: Delete the instance now that the AMI is created
>>>   hosts: localhost
>>>   connection: local
>>>   gather_facts: no
>>>   tasks:
>>>   - ec2:
>>>       region: ap-southeast-1
>>>       instance_ids: "{{ item.id }}"
>>>       state: 'absent'
>>>     with_items:
>>>       - ec2.instances
>>>
>>> But I get errors like this:
>>>
>>>
>>> TASK: [ec2_ami region=ap-southeast-1 instance_id={{ item.id }} wait=no 
>>> name=basebox-2000000] ***
>>> fatal: [localhost] => One or more undefined variables: 'str object' has 
>>> no attribute 'id'
>>>
>>> I guess I'm missing something with iterating over a hash but can't 
>>> figure what. Any ideas?
>>>
>>>  -- 
>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ansible-project/cc359c02-afd3-4c71-931d-7c5db8fde6a6%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/cc359c02-afd3-4c71-931d-7c5db8fde6a6%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/ansible-project/VkA8f77Pn9E/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/CAMFyvFip1qw%2B_bFSB2YrOqHoMYPwEL%2B4%2Bgckj18Y_CnWkE3J5g%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/CAMFyvFip1qw%2B_bFSB2YrOqHoMYPwEL%2B4%2Bgckj18Y_CnWkE3J5g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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/910c13a9-bb28-4ba7-8ebb-4a3638bc457c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to