2017-10-20 87 views
-1

儘量實現一些類似這樣的內部服務器描述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

是否有一些漂亮的方法來重用變量?

回答

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中的值。

相關問題