【发布时间】:2021-02-09 02:20:47
【问题描述】:
我在玩游戏期间两次使用 Ansible 中的 RDS 模块。第一次,它记录 CNAME。第二次,它一直等到数据库状态为“可用”。
我遇到的问题是它第一次按预期工作,但第二次失败了。
---
- name: Wait for RDS to be out of creating state and get its CNAME
rds:
command: facts
instance_name: '{{ wp_db_instance}}'
region: "{{ region }}"
register: rds_facts
until: rds_facts.instance.status != "creating"
retries: 15
delay: 30
become: no
- name: Set Endpoint variable
set_fact: rds_db_endpoint="{{ (rds_facts.stdout|from_json).DBInstances[0].Endpoint.Address }}"
上面的代码按预期工作。它等待实例离开“正在创建”状态并记录名称。
稍后在该剧中,它运行以下内容。
---
- name: Wait for RDS instance to be in available state
rds:
command: facts
instance_name: '{{ wp_db_instance}}'
region: "{{ region }}"
register: rds_facts_available
until: rds_facts_available.instance.status == "available"
retries: 55
delay: 30
become: no
这个失败是因为“'dict object'没有属性'instance'”告诉我模块没有返回任何事实。为什么不呢?两次调用模块有问题吗?
任何帮助将不胜感激。
【问题讨论】:
-
还有其他使用
rds_facts_Available的任务吗? -
@P....不,没有。
-
错误
"'dict object' has no attribute 'instance'"通常在变量未定义或设置它的任务被跳过时出现。
标签: amazon-web-services ansible yaml amazon-rds