如何获取包含当前sls文件或模板的目录的路径?

时间:2015-11-18 19:25:36

标签: salt-stack

一个特定的案例导致一个更普遍的问题:我的盐公式看​​起来像这样:

formula/
    init.sls
    some_other_state.sls
    defaults.yaml

作为两种sls行为的一部分,我希望他们将defaults.yaml加载到dict中。我可以用其中任何一种方式做到这一点:

{%- import_yaml formula/defaults.yaml as defaults %}

...但是这硬编码了公式相对于盐树基础的位置,如果树被重组并且公式移动到(比如说)嵌套目录,它将会中断。

我尝试了这个:

{%- import_yaml (slspath + "/defaults.yaml") as defaults %}

这适用于init.sls但不适用于some_other_state.sls;原因是slspath扩展到前者的包含目录,但是后者的完整路径。

我真正想要的是一些slspath,它总是扩展到包含当前运行的sls的目录。"然后我可以指定我需要的任何路径。

这样的变量是否存在,如果存在,它是什么?

1 个答案:

答案 0 :(得分:3)

您要查找的变量tpldir已添加到0c78d7dc