我試圖創建一個EC2實例與一個ansible的劇本,並設置與卷的根卷大小。當然,在沒有包含音量變量的情況下工作良好。但是,我想爲根卷設置不同的默認大小。錯誤嘗試更改使用可變的EC2實例的根卷volume_size
我的劇本是這樣的:
# Use the ec2 module to create a new host and then add
# it to a special "ec2hosts" group.
- hosts: localhost
connection: local
gather_facts: False
vars:
instance_type: "t2.micro"
image: "ami-1420b57c"
region: "us-east-1"
volumes:
- device_name: /dev/xvda
volume_size: 10
tasks:
- name: make one instance
ec2: image="{{ image }}"
instance_type="{{ instance_type }}"
keypair="{{ keypair }}"
region="{{ region }}"
group="{{ group }}"
volumes="{{ volumes }}"
instance_tags='{"Name":"{{instance_name}}"}'
wait=true
register: ec2_host
- debug: var=ec2_host
- debug: var=item
with_items: ec2_host.instance_ids
- add_host: hostname={{ item.public_ip }} groupname=ec2hosts
with_items: ec2_host.instances
,然後當我運行劇本命令,我碰到下面的錯誤。
ansible-playbook ec2-simple.yml -e "instance_name=testnode keypair=mykeypair group=testgroup"
PLAY [localhost] **************************************************************
TASK: [make one instance] *****************************************************
failed: [localhost] => {"failed": true}
msg: Device name must be set for volume
FATAL: all hosts have already failed -- aborting
我試過了其他方法。有和沒有引號等,沒有什麼作品。有時候,我得到一個不同的錯誤。
我在Mac上使用Ansible 1.7.2。
謝謝。那確實解決了它。我不情願走這條路,想看看爲什麼它不能像我這樣做。 本質上,這就是他們如何在他們的AWS指南 - > http://docs.ansible.com/guide_aws.html 我討厭它,當文檔不符合工具的實際工作。啊! 無論哪種方式,謝謝! – 2014-11-22 18:51:55
哦,這個劇本對我來說很好,就像我發佈的那樣。不知道爲什麼它不適合你。我的意思是,你已經在那裏提供了一個組。除非「默認」組尚未創建。 我不知道Ansible是否創建了一個組。 – 2014-11-22 18:54:27
是的,[它在EC2頁面上指定正確](http://docs.ansible.com/ec2_module.html)。我提出了一個拉取請求,以使錯誤消息更加詳細。而這只是VPC配置,導致它對我來說失敗了,沒什麼大不了的,很高興它可以完全發揮作用! – tedder42 2014-11-22 22:00:07