我安装了新的Debian(9.3)安装了新的salt-master(2017.7.4)和salt-minion。在/etc/salt/minion.d
我有一个包含以下内容的配置文件:
master: 127.0.0.1
grains:
roles:
- 'introducer'
在/srv/salt/top.sls
我有:
base:
# https://docs.saltstack.com/en/latest/ref/states/top.html
'G@roles:introducer':
- 'introducer'
在/srv/pillar/data.sls
我有:
introducer:
location: 'tcp:x.x.x.x:y'
port: 'tcp:y'
当我运行salt '*' state.apply
时,我遇到了这个失败:
668629:
Data failed to compile:
----------
Rendering SLS 'base:introducer' failed: Jinja variable 'salt.pillar object' has no attribute 'introducer'
ERROR: Minions returned with non-zero exit code
为什么支柱数据不可用?
答案 0 :(得分:2)
支柱数据也需要最高定义。问题中描述的配置没有支柱top.sls
,因此没有为任何一个小兵选择支柱数据。
要更正此问题,请在Pillar目录中添加top.sls
,该目录选择所需的小兵并为他们提供数据。例如,这个/srv/pillar/top.sls
:
base:
'*':
- 'data'
这使得/srv/pillar/data.sls
的内容可供基础环境中的所有小兵使用(由*
选择)。