这可能不是设置自定义谷物的最佳方式,但我想通过阅读支柱数据来设置自定义谷物“角色” . 这将允许在支柱数据的YAML语法中轻松编辑,而自定义粒度被设置为最高优先级而不被其他配置覆盖 .
我的问题是如何访问 _grain
目录中自定义grain python文件中的支柱数据?
我试过了:
hosts = __salt__['pillar.get']('hosts',None)
但是我收到一个错误:
NameError: global name '__salt__' is not defined
即使我添加
import salt.client
import salt.config
1 回答
我已经看过Salts内置颗粒(更具体地说是core.py grain module) . 在那里,他们实际上自己定义
__salt__
对象(line 44ff.):理论上(未经测试!),你也应该能够在你的自定义谷物中做到这一点 . 当您需要
pillar.get
模块时,您需要导入不同的功能,当然:当然,您也可以直接调用
salt.modules.pillar.get('hosts', None)
而无需创建__salt__
字典 .