'msg':“AnsibleUndefinedVariable:一个或多个未定义的变量:'dict object'没有属性u'Production'”
使用以下playbook运行带有输入参数client=DSA env=Production
的ansible作业时出现上述错误:
- hosts: "{{client}}_{{env}}"
remote_user: ubuntu
sudo: True
vars:
- env: "{{env}}"
- DSA: {
Production: {
dataSourceUsername: abc,
}
}
- FDA: {
Production: {
dataSourceUsername: xyz,
}
}
....
....
tasks:
- name: copy test
template: src=templates/{{client}}.j2 dest=/tmp/test_file owner=root group=root mode=755
模板:
dataSourceUsername={{ THD[env]['dataSourceUsername'] }}
当定义了多个dict对象时,会出现上述错误,对于某些dict对象,它会起作用,而有些则不会。使用yaml验证器验证语法。不知道问题出在哪里。