重用ansible变量会导致错误
问题描述:
尽量实现一些类似这样的内部服务器描述host_vars/MT_ora/server_vars.yml
重用ansible变量会导致错误
ora:
home: /u01/app/oracle/product/11.2.0/112048
sid: blank
enviroment:
ORACLE_HOME: "{{ora.home}}"
ORACLE_SID: "{{ora.sid}}"
,但得到的错误:
recursuve loop detected in template
是否有一些漂亮的方法来重用变量?
答
您不能在Jinja2表达式中进行递归。你想
拆分信息的不同变量之间的重用:
ora:
home: /u01/app/oracle/product/11.2.0/112048
sid: blank
enviroment:
ORACLE_HOME: "{{ora.home}}"
ORACLE_SID: "{{ora.sid}}"
这里有ora
和enviroment
类型的字典。并且要定义environment
中的某些值,请参阅ora
。
但是在您的原始示例中,您尝试使用ora
本身来定义ora
中的值。