重用ansible变量会导致错误

时间:2017-10-20 13:27:54

标签: ansible

在服务器描述符host_vars/MT_ora/server_vars.yml

中尝试实现这样的功能
ora:
  home: /u01/app/oracle/product/11.2.0/112048
  sid: blank
  enviroment:
    ORACLE_HOME: "{{ora.home}}"
    ORACLE_SID: "{{ora.sid}}"

但得到了错误:

  

在模板中检测到recursuve循环

是否有一些很好的方法可以重用变量?

1 个答案:

答案 0 :(得分:0)

您无法在Jinja2表达式中进行递归 拆分要在不同变量之间重用的信息:

ora:
  home: /u01/app/oracle/product/11.2.0/112048
  sid: blank
enviroment:
  ORACLE_HOME: "{{ora.home}}"
  ORACLE_SID: "{{ora.sid}}"

这里有oraenviroment个字词。要在environment中定义一些值,请引用ora

但是在原始示例中,您尝试使用ora本身在ora内定义值。