Hello,
I am sure that I miss something obvious... but after having tried for a few
hours, I just don't know where to look for a solution ...
I have the following playbook to create a new amazon instance and do a few
things with it.
The instance is created correctly, but when I try to access to
ec2_info.instances. private_ip variables, the playbook fail with an
undefined variable error ...
Does any one have an idea?
Many thanks in advance.
Fred
** playbook:
---
- hosts: 127.0.0.1
connection: local
gather_facts: True
vars:
keypair: mykey
dnsdomain: aws.domain.com
fqdn: "{{ hostname }}.{{ dnsdomain }}"
tasks:
- name: create a vm
local_action:
ec2_url: https://ec2.eu-west-1.amazonaws.com
module: ec2
image: ami-75342c01
count: 1
instance_type: m1.large
group:
- J2EE
- default
key_name: "{{ keypair }}"
vpc_subnet_id: subnet
user_data: "{{ hostname }}.{{ dnsdomain }}"
instance_tags: '{ "QA": "group", "Name": "{{ hostname }}" }'
volumes:
- device_name: /dev/sda1
volume_size: 10
- device_name: /dev/sdb
ephemeral: ephemeral0
- device_name: /dev/sdc
volume_size: 25
wait: true
wait_timeout: 500
state: present
register: ec2_info
- name: register DNS name
command: dnsupdate.py -s localhost -k Kddnsupdate.key -x add {{
fqdn }} 300 A {{ ec2_info.instances.private_ip }}
sudo: yes
remote_user: user
delegate_to: dns_server
- name: add new instance to inventory
add_host: name={{ hostname }} groups=ci hostname={{ fqdn }}
ansible_ssh_host={{ ec2_info.instances.private_ip }}
ansible_ssh_private_key_file=~/.ssh/{{ keypair }}.pem
- name: wait for instance to start
wait_for: state=started host={{ ec2_info.instances.private_ip }}
port=22
** error message:
TASK: [register DNS name]
*****************************************************
fatal: [127.0.0.1] => One or more undefined variables: 'list' object has no
attribute 'private_ip'
FATAL: all hosts have already failed -- aborting
** with a "debug=ec2_info.instances":
"ec2_info.instances": [
{
"ami_launch_index": "0",
"architecture": "x86_64",
"dns_name": "",
"hypervisor": "xen",
"id": "i-d43324",
"image_id": "ami-7",
"instance_type": "m1.large",
"kernel": "aki-54425520",
"key_name": "ContinuousQA",
"launch_time": "2014-04-07T12:30:29.000Z",
"placement": "eu-west-1b",
"private_dns_name": "ip-172-16-4-127.aws.domain.com",
"private_ip": "172.16.4.127",
"public_dns_name": "",
"public_ip": null,
"ramdisk": null,
"region": "eu-west-1",
"root_device_name": "/dev/sda1",
"root_device_type": "ebs",
"state": "running",
"state_code": 16,
"virtualization_type": "paravirtual"
}
]
}
--
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/fe90eada-d02e-467d-9220-75d89b5493a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.