使用Ansible从快照创建新的EBS卷不会返回卷ID

时间:2015-12-09 13:00:48

标签: amazon-web-services amazon-ec2 ansible

当我尝试使用ec2_vol模块指定快照ID时,会创建快照,但不会返回卷ID。我在GitHub上看到了几篇关于已知bug的文章,但用例却略有不同。对此有什么解决方法吗?

  - name: Volume Creation
    ec2_vol:
      snapshot: "snap-1234"
      zone: us-east-1a
      region: us-east-1
      volume_size: 50
      volume_type: gp2
    register: newebsvolume

  - debug: var= newebsvolume

结果

ok: [localhost] => {
    "var": {
        "newebsvolume": {
            "changed": false,
            "invocation": {
                "module_args": "",
                "module_complex_args": {
                    "region": "us-east-1",
                    "snapshot": "snap-12345",
                    "state": "present",
                    "volume_size": 50,
                    "volume_type": "gp2",
                    "zone": "us-east-1a"
                },
                "module_name": "ec2_vol"
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

latest version of the ec2_vol模块似乎可以解决此问题,因此如果您尚未运行最新版本,则可能需要升级您正在使用的Ansible版本。我快速浏览了github中文件的历史记录,看起来该模块至少从版本1.8开始返回volume_id值。

编辑:实际上,仔细观察后,模块似乎正常工作。 ec2_vol文档中的所有示例都显示在创建新卷时设置了instanceid。如果您没有指定其中一个,那么该模块实际上无效,这就是您的结果返回"changed": false的原因。从文档中看,该模块看起来不支持创建卷而不将它们附加到实例。