Ah yes, apologies for that. So I've corrected that, but getting an 
undefined variable error.

fatal: [server.mydomain.com]: FAILED! => {"msg": "The task includes an 
option with an undefined variable. The error was: 'dict object' has no 
attribute 'results'\n\nThe error appears to have been in 
'/opt/ansible-scripts/update/create-ami.new.yml': line 14, column 7, but 
may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe 
offending line appears to be:\n\n\n    - name: set ami id\n      ^ here\n"}



On Tuesday, 4 December 2018 16:29:56 UTC, Karl Auer wrote:
>
> The line where you set new_ami_id, immediately below set_fact:, does not 
> appear to be indented correctly. Indent it a few spaces and try again.
>
> Regards, K.
>
>
> On Wed, Dec 5, 2018 at 3:17 AM shaneoh1980 McP <[email protected] 
> <javascript:>> wrote:
>
>> This is the playbook:
>>
>> - hosts: webservers
>>   remote_user: ubuntu
>>   tasks:
>>     - name: create an ami
>>       ec2_ami:
>>         region: eu-west-2
>>         instance_id: i-077xxxxxxxxxxx
>>         name: "{{ inventory_hostname }}-{{ 
>> ansible_date_time.iso8601_basic_short }}"
>>         tags:
>>           Name: "{{ inventory_hostname }}-{{ 
>> ansible_date_time.iso8601_basic_short }}"
>>       register: ami
>>
>>
>>     - name: set ami id
>>       set_fact:
>>       new_ami_id: "{{ ami.results[0].image_id }}"
>>
>>
>>     - pause:
>>         seconds: 60
>>
>>
>>     - name: copy AMI to a different region
>>       ec2_ami_copy:
>>         source_region: eu-west-2
>>         source_image_id: "{{ new_ami_id }}"
>>         name: "{{ new_ami_id }}"
>>         region: eu-west-1
>>
>> And the full output:
>>
>> ansible-playbook 2.6.4
>>   config file = /etc/ansible/ansible.cfg
>>   configured module search path = [u
>> '/home/ubuntu/.ansible/plugins/modules', u
>> '/usr/share/ansible/plugins/modules']
>>   ansible python module location = /usr/lib/python2.7/dist-packages/
>> ansible
>>   executable location = /usr/bin/ansible-playbook
>>   python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
>> Using /etc/ansible/ansible.cfg as config file
>>  [WARNING]: Ignoring invalid attribute: new_ami_id
>>
>>
>>
>>
>> PLAYBOOK: create-ami.new.yml 
>> **************************************************************************************************************************************************************************************
>> 1 plays in create-ami.new.yml
>>
>>
>> PLAY [webservers] 
>> *************************************************************************************************************************************************************************************************
>>
>>
>> TASK [Gathering Facts] 
>> ********************************************************************************************************************************************************************************************
>> task path: /opt/ansible-scripts/update/create-ami.new.yml:2
>> ok: [server.mydomain.com]
>> META: ran handlers
>>
>>
>> TASK [create an ami] 
>> **********************************************************************************************************************************************************************************************
>> task path: /opt/ansible-scripts/update/create-ami.new.yml:5
>> changed: [server.mydomain.com] => {"architecture": "x86_64", 
>> "block_device_mapping": {}, "changed": true, "creationDate": 
>> "2018-12-04T16:14:50.000Z", "description": "", "enhanced_networking": 
>> true, "hypervisor": "xen", "image_id": "ami-02867e4b6aec13ee5", 
>> "image_owner_alias": null, "image_type": "machine", "is_public": false, 
>> "kernel_id": null, "launch_permissions": [], "location": 
>> "541818391026/server.mydomain.com-20181204T161449", "msg": "AMI creation 
>> operation complete.", "name": "server.mydomain.com-20181204T161449", 
>> "ownerId": "541818391026", "platform": null, "product_codes": [], 
>> "ramdisk_id": null, "root_device_name": null, "root_device_type": "ebs", 
>> "sriov_net_support": null, "state": "pending", "state_reason": null, 
>> "tags": {"Name": "server.mydomain.com-20181204T161449"}, 
>> "virtualization_type": "hvm"}
>>
>>
>> TASK [set ami id] 
>> *************************************************************************************************************************************************************************************************
>> task path: /opt/ansible-scripts/update/create-ami.new.yml:14
>> ok: [server.mydomain.com] => {"ansible_facts": {}, "changed": false}
>>
>>
>> TASK [pause] 
>> ******************************************************************************************************************************************************************************************************
>> task path: /opt/ansible-scripts/update/create-ami.new.yml:18
>> Pausing for 60 seconds
>> (ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)
>> ok: [server.mydomain.com] => {"changed": false, "delta": 60, "echo": true
>> , "rc": 0, "start": "2018-12-04 16:14:51.149347", "stderr": "", "stdout": 
>> "Paused 
>> for 60.0 seconds", "stop": "2018-12-04 16:15:51.149596", "user_input": ""
>> }
>>
>>
>> TASK [copy AMI to a different region] 
>> *****************************************************************************************************************************************************************************
>> task path: /opt/ansible-scripts/update/create-ami.new.yml:21
>> fatal: [server.mydomain.com]: FAILED! => {"msg": "The task includes an 
>> option with an undefined variable. The error was: 'new_ami_id' is 
>> undefined\n\nThe error appears to have been in 
>> '/opt/ansible-scripts/update/create-ami.new.yml': line 21, column 7, but 
>> may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe 
>> offending line appears to be:\n\n\n    - name: copy AMI to a different 
>> region\n      ^ here\n"}
>>         to retry, use: --limit @/opt/ansible-scripts/update/create-ami.
>> new.retry
>>
>>
>> PLAY RECAP 
>> ********************************************************************************************************************************************************************************************************
>> server.mydomain.com    : ok=4    changed=1    unreachable=0    failed=1
>>
>>
>> On Tuesday, 4 December 2018 16:03:22 UTC, Karl Auer wrote:
>>>
>>> On what line was that error thrown?
>>>
>>> I think you should provide the entire playbook and the complete output.
>>>
>>> Regards, K.
>>>
>>>
>>> On Wed, Dec 5, 2018 at 2:37 AM shaneoh1980 McP <[email protected]> 
>>> wrote:
>>>
>>>> I had actually tried that already, and when I do I get this error:
>>>>
>>>> "msg": "The task includes an option with an undefined variable. The 
>>>> error was: 'new_ami_id' is undefined\
>>>>
>>>> Which is confusing because it seems to me it clearly is being defined.
>>>>
>>>> On Tue, 4 Dec 2018 at 15:26, Karl Auer <[email protected]> wrote:
>>>>
>>>>> You need to wrap wrap the variable up in curly braces so that it is 
>>>>> interpreted rather than taken literally.
>>>>>
>>>>> I.e., where you have:
>>>>> new_ami_id: ami.results[0].image_id
>>>>>
>>>>> you need:
>>>>> new_ami_id: "{{ ami.results[0].image_id }}"
>>>>>
>>>>> Regards, K.
>>>>>
>>>>> On Wed, Dec 5, 2018 at 2:14 AM shaneoh1980 McP <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> After more searching I also tried this:
>>>>>>
>>>>>> ---
>>>>>> - hosts: webservers
>>>>>>   remote_user: ubuntu
>>>>>>   tasks:
>>>>>>     - name: create an ami
>>>>>>       ec2_ami:
>>>>>>         region: eu-west-2
>>>>>>         instance_id: i-0771xxxxxxxxxx
>>>>>>         name: "{{ inventory_hostname }}-{{ 
>>>>>> ansible_date_time.iso8601_basic_short }}"
>>>>>>         tags:
>>>>>>           Name: "{{ inventory_hostname }}-{{ 
>>>>>> ansible_date_time.iso8601_basic_short }}"
>>>>>>       register: ami
>>>>>>
>>>>>>
>>>>>>     - name: set ami id
>>>>>>       set_fact:
>>>>>>         new_ami_id: ami.results[0].image_id
>>>>>>
>>>>>>
>>>>>>     - pause:
>>>>>>         seconds: 60
>>>>>>
>>>>>>
>>>>>>     - name: copy AMI to a different region
>>>>>>       ec2_ami_copy:
>>>>>>         source_region: eu-west-2
>>>>>>         source_image_id: "{{ new_ami_id }}"
>>>>>>         name: "{{ new_ami_id }}"
>>>>>>         region: eu-west-1
>>>>>>
>>>>>> But again, Ansible seems to interpret this literally:
>>>>>>
>>>>>> ami.results[0].image_id
>>>>>>
>>>>>> Rather than finding the ID of the newly created AMI.
>>>>>>
>>>>>> On Tuesday, 4 December 2018 12:04:52 UTC, shaneoh1980 McP wrote:
>>>>>>>
>>>>>>> I am trying to create a playbook which does the following:
>>>>>>>
>>>>>>>
>>>>>>>    - creates an image of an AWS instance
>>>>>>>    - copies the image to a different region
>>>>>>>    - installs updates to the instance
>>>>>>>
>>>>>>>
>>>>>>> I can do all of this apart from getting the AMI to copy to a 
>>>>>>> different region. I've tried a few things but this is my current 
>>>>>>> playbook 
>>>>>>> (this is only for the AMI creation and copying, installing updates is 
>>>>>>> handled separately). 
>>>>>>>
>>>>>>> - hosts: webservers
>>>>>>>   remote_user: ubuntu
>>>>>>>   tasks:
>>>>>>>     - name: create an ami
>>>>>>>       ec2_ami:
>>>>>>>         region: eu-west-2
>>>>>>>         instance_id: i-0771a2e4289c057e9
>>>>>>>         name: "{{ inventory_hostname }}-{{ 
>>>>>>> ansible_date_time.iso8601_basic_short }}"
>>>>>>>         tags:
>>>>>>>           Name: "{{ inventory_hostname }}-{{ 
>>>>>>> ansible_date_time.iso8601_basic_short }}"
>>>>>>>
>>>>>>>
>>>>>>>     - name: set ID name
>>>>>>>       set_fact:
>>>>>>>         new_ami_name: ec2_ami.image_id
>>>>>>>
>>>>>>>
>>>>>>>     - pause:
>>>>>>>         seconds: 60
>>>>>>>
>>>>>>>
>>>>>>>     - name: copy AMI to a different region
>>>>>>>       ec2_ami_copy:
>>>>>>>         source_region: eu-west-2
>>>>>>>         source_image_id: "{{ new_ami_name }}"
>>>>>>>         name: "{{ new_ami_name }}"
>>>>>>>         region: eu-west-1
>>>>>>>
>>>>>>> For which the creation, setting fact, and pause work, but on the 
>>>>>>> last part I get this error output:
>>>>>>>
>>>>>>> An exception occurred during task execution. To see the full 
>>>>>>> traceback, use -vvv. The error was: ClientError: An error occurred (
>>>>>>> InvalidAMIID.Malformed) when calling the CopyImage operation: 
>>>>>>> Invalid id: "ec2_ami.image_id" (expecting "ami-...")
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I've tried a few different things I'm fairly new to Ansible, but 
>>>>>>> basically I can't figure out how to pass the image_id of the newly 
>>>>>>> created 
>>>>>>> AMI to the next play so that it can use this as the basis of the 
>>>>>>> copying.
>>>>>>>
>>>>>>> I can see clearly that it's not registering the image_id as it's 
>>>>>>> saying it's not in the expected "ami-" format, but I'm stuck from there.
>>>>>>>  
>>>>>>>
>>>>>> -- 
>>>>>> 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/8995dac7-5f1b-470f-b1e6-11ce3b1a4074%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/ansible-project/8995dac7-5f1b-470f-b1e6-11ce3b1a4074%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Karl Auer
>>>>>
>>>>> Email  : [email protected]
>>>>> Website: http://2pisoftware.com
>>>>>
>>>>> GPG/PGP : 958A 2647 6C44 D376 3D63 86A5 FFB2 20BC 0257 5816
>>>>> Previous: F0AB 6C70 A49D 1927 6E05 81E7 AD95 268F 2AB6 40EA
>>>>>
>>>>> -- 
>>>>> 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/ouLsLPAFuec/unsubscribe
>>>>> .
>>>>> To unsubscribe from this group and all its topics, 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/CA%2B%2BT08SN%3DZL1hX%3DBEBCB%3DYKi40rhd6Y%2BHeCTkopjOKRFgS6zEQ%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/ansible-project/CA%2B%2BT08SN%3DZL1hX%3DBEBCB%3DYKi40rhd6Y%2BHeCTkopjOKRFgS6zEQ%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/CAEu1aFzMhVJ-ZGiE0tG48vvRw42Z3tR5qFmGTKxOD33kWvygeQ%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/CAEu1aFzMhVJ-ZGiE0tG48vvRw42Z3tR5qFmGTKxOD33kWvygeQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>> -- 
>>> Karl Auer
>>>
>>> Email  : [email protected]
>>> Website: http://2pisoftware.com
>>>
>>> GPG/PGP : 958A 2647 6C44 D376 3D63 86A5 FFB2 20BC 0257 5816
>>> Previous: F0AB 6C70 A49D 1927 6E05 81E7 AD95 268F 2AB6 40EA
>>>
>> -- 
>> 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/a37cfe49-febb-4ea6-a6d9-9058e360be71%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/a37cfe49-febb-4ea6-a6d9-9058e360be71%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Karl Auer
>
> Email  : [email protected] <javascript:>
> Website: http://2pisoftware.com
>
> GPG/PGP : 958A 2647 6C44 D376 3D63 86A5 FFB2 20BC 0257 5816
> Previous: F0AB 6C70 A49D 1927 6E05 81E7 AD95 268F 2AB6 40EA
>

-- 
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/1eef7d41-cd3c-47e2-b7da-905c51f1918a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to