我们正在使用saltstack并喜欢编写一个依赖于python库的自定义粒度 - 在这种情况下为netifaces。
由于所有的小兵都应该能够执行谷物,我们需要确保这个库始终可用。
实现这一目标的最佳做法是什么?是否建议只写一个状态并将此状态应用于所有小兵。在谷物和国家之间存在依赖感觉有点混乱。还有另一种方法来定义谷物本身的依赖性吗?
答案 0 :(得分:0)
Grains不负责管理自己的依赖项。基于此,我似乎可以直接编写一个解决粒度依赖关系的状态。
saltstack/salt/salt/grains/core.py中发布的谷物报告有关缺少的模块:
log = logging.getLogger(__name__)
HAS_WMI = False
if salt.utils.is_windows():
# attempt to import the python wmi module
# the Windows minion uses WMI for some of its grains
try:
import wmi # pylint: disable=import-error
import salt.utils.winapi
HAS_WMI = True
except ImportError:
log.exception(
'Unable to import Python wmi module, some core grains '
'will be missing'
)
欢迎进一步的意见。