Hello,
I am trying to create an ec2 instance with specific volumes requirement ...
but I keep getting a "this module requires key=value arguments" error
message.
Looking closer at ansible output (see below), it looks like the
single-quoting of the volumes parameter is a little bit "fancy"...
Am I doing something wrong?
---
- hosts: 127.0.0.1
connection: local
gather_facts: True
vars:
volumes:
- device_name: /dev/sda1
volume_size: 10
- device_name: /dev/xvdf
ephemeral: ephemeral0
- device_name: /dev/xvdg
volume_size: 25
keypair: ec2key
image: ami-xxx
dnsdomain: domain.com
vars_prompt:
hostname: "What is this instance hostname?"
subnet: "What is this instance subnet?"
ip: "What is this instance ip?"
group: "Provide a list of group name"
instance_type: "Provide the instance type"
tasks:
- name: create instance
ec2: key_name={{ keypair }} image={{ image }} instance_type={{
instance_type }} vpc_subnet_id={{ subnet }} user_data='{"shortname":"{{
hostname }}", "hostname":"{{ hostname }}.{{ dnsdomain }}"}'
wait_timeout=500 private_ip={{ ip }} wait=yes group={{ group }} count=1
state=present volumes={{ volumes }}
<127.0.0.1> REMOTE_MODULE ec2 key_name=ec2key image=ami-xxx
instance_type=m1.small vpc_subnet_id=subnet-xxx
user_data='{"shortname":"test4", "hostname":"test4.domain.com"}'
wait_timeout=500 private_ip=172.16.4.100 wait=yes group="['default',
'J2EE']" count=1 state=present volumes=[{'volume_size': 10, 'device_name':
'/dev/sda1'}, {'ephemeral': 'ephemeral0', 'device_name': '/dev/xvdf'},
{'volume_size': 25, 'device_name': '/dev/xvdg'}]
<127.0.0.1> EXEC ['/bin/sh', '-c', 'mkdir -p
$HOME/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021 && chmod a+rx
$HOME/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021 && echo
$HOME/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021']
<127.0.0.1> PUT /var/folders/38/_r_kpxbd4cvfq_9qdvkb0jd40000gn/T/tmpapBeCB
TO /Users/fred/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021/ec2
<127.0.0.1> EXEC ['/bin/sh', '-c',
'/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
/Users/fred/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021/ec2; rm
-rf /Users/fred/.ansible/tmp/ansible-tmp-1392727140.89-11533654997021/
>/dev/null 2>&1']
failed: [127.0.0.1] => {"failed": true}
msg: this module requires key=value arguments (['key_name=ec2key',
'image=ami-xxx', 'instance_type=m1.small', 'vpc_subnet_id=subnet-xxx',
'user_data={"shortname":"test4", "hostname":"test4.domain.com"}',
'wait_timeout=500', 'private_ip=172.16.4.100', 'wait=yes',
"group=['default', 'J2EE']", 'count=1', 'state=present',
'volumes=[{volume_size:', '10,', 'device_name:', '/dev/sda1},',
'{ephemeral:', 'ephemeral0,', 'device_name:', '/dev/xvdf},',
'{volume_size:', '25,', 'device_name:', '/dev/xvdg}]'])
FATAL: all hosts have already failed -- aborting
ansible-playbook --version
ansible-playbook 1.5 (devel 7e23ed345f) last updated 2014/02/18 12:15:46
(GMT +200)
Thanks for your advices!
Fred
--
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].
For more options, visit https://groups.google.com/groups/opt_out.