不一致的错误:{'msg':“AnsibleUndefinedVariable:一个或多个未定义的变量:'dict object'没有属性

时间:2015-11-04 16:54:42

标签: python yaml ansible

  

'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验证器验证语法。不知道问题出在哪里。

0 个答案:

没有答案