- 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-1An 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-...")
---
- 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-1new_ami_id: ami.results[0].image_idnew_ami_id: "{{ ami.results[0].image_id }}"
--
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/8995dac7-5f1b-470f-b1e6-11ce3b1a4074%40googlegroups.com.
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/ouLsLPAFuec/unsubscribe.
To unsubscribe from this group and all its topics, 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/CA%2B%2BT08SN%3DZL1hX%3DBEBCB%3DYKi40rhd6Y%2BHeCTkopjOKRFgS6zEQ%40mail.gmail.com.
"msg": "The task includes an option with an undefined variable. The error was: 'new_ami_id' is undefined\
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAEu1aFzMhVJ-ZGiE0tG48vvRw42Z3tR5qFmGTKxOD33kWvygeQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
- 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-1ansible-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=1To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/a37cfe49-febb-4ea6-a6d9-9058e360be71%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
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"}'dict object' has no attribute 'result' means "there is no thing called 'result' inside the variable you are looking at".
That means you either have the wrong variable (and 'result' is to be found in a different variable) or you have the correct variable, but there is nothing called "result" inside it.
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.
new_ami_id: "{{ ami.image_id }}"