【问题标题】:Ansible: Not able to get AMI ID of newly created AMIAnsible:无法获取新创建的 AMI 的 AMI ID
【发布时间】:2017-08-02 15:12:35
【问题描述】:

我正在使用剧本创建 ami 并尝试获取新创建的 ami id。但调试得到 'msg': "AMI not updated"'' 请帮忙


- name: Create AMI
  ec2_ami:
    region: "{{ec2_region}}"
    name: "aws-{{ec2_region}}"
    state: present
    instance_id: "{{ec2_info.instances.0.id}}"
    wait: yes
    tags:
       Name: "aws-{{ec2_region}}-mr-ami"
       deployment_type: "{{deployment_type}}"
       pop_type: "{{pop_type}}"
  register: image

- pause:
    seconds: 10

- debug:
    msg: "{{image}}"

- name: Set image id as fact
  set_fact:
      mr_ami_id: "{{image.image_id}}"

剧本输出

任务 [创建 AMI] ****************************************************** ****************************************************** *********************** 好的:[本地主机] => { “改变”:错误, “调用”:{ “模块参数”:{ “架构”:“x86_64”, “aws_access_key”:空, “aws_secret_key”:空, “删除快照”:假, “描述”: ””, “设备映射”:空, “ec2_url”:空, “image_id”:空, "instance_id": "i-06540​​4d0d37e0acfb", “kernel_id”:空, “launch_permissions”:空, “名称”:“aws-ap-southeast-2-MessageRelay”, “no_reboot”:假, “个人资料”:空, “地区”:“ap-southeast-2”, “root_device_name”:空, “security_token”:空, “状态”:“现在”, “标签”:{ “名称”:“aws-ap-southeast-2-mr-ami”, “部署类型”:“开发”, “pop_type”:“mgmt” }, “验证证书”:是的, “虚拟化类型”:“hvm”, “等待”:是的, “wait_timeout”:“900” } }, “launch_permissions”:{}, "msg": "AMI 未更新" }

任务 [暂停] ****************************************************** ****************************************************** ****************************** 任务路径:/root/**************** *****/create_ami.yml:24 暂停 10 秒(ctrl+C 然后 'C' = 提前继续,ctrl+C 然后 'A' = 中止)ok: [localhost] => { “改变”:错误, “三角洲”:10, “rc”:0, “开始”:“2017-08-01 08:48:29.756546”, “标准错误”:“”, "stdout": "暂停 10.0 秒", “停止”:“2017-08-01 08:48:39.756843”, “用户输入”:“”}

任务 [调试] ****************************************************** ****************************************************** ****************************** 任务路径:/root/**************** */create_ami.yml:27 好的:[本地主机] => { “改变”:错误, “味精”:{ “改变”:错误, “launch_permissions”:{}, "msg": "AMI 未更新" } }

TASK [将图像 id 设置为事实] ****************************************************** ****************************************************** *************任务路径:/root/*************/trunk/ncs/pop-deployment/********_asg/tasks /create_ami.yml:30 致命:[本地主机]:失败! => { “失败”:是的, "msg": "字段 'args' 的值无效,似乎包含一个未定义的变量。错误是:'dict object' has no attribute 'image_id'\n\n错误似乎在 ' /root/******************************/create_ami.yml':第 30 行,第 3 列,但可能\n位于文件中的其他位置,具体取决于关于确切的语法问题。\n\n违规行似乎是:\n\n\n- name: Set image id as fact\n ^ here\n" }

播放回顾 ****************************************************** ****************************************************** ****************************** ip-10-10-5-111.ap-southeast-2.compute.internal : ok=13 changed=9 unreachable=0 failed=0 localhost : ok=69 changed=31 unreachable=0 failed=1

【问题讨论】:

  • 您确定AMI 正在创建吗?您可以在 AWS 控制台中签到吗?
  • @helloV ,这是因为名称为“aws-{{ec2_region}}”的 AMI 已经存在,因此没有创建新的 ami。我删除了旧的 AMI 并再次运行剧本,没有任何问题。感谢您的回复。

标签: amazon-web-services ansible


【解决方案1】:

发生这种情况是因为名称为“aws-{{ec2_region}}”的 AMI 已经存在,因此没有创建新的 ami。我删除了旧的 AMI 并再次运行 playbook,没有任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    相关资源
    最近更新 更多