解决盐粒的依赖性

时间:2016-03-17 10:02:31

标签: salt-stack

我们正在使用saltstack并喜欢编写一个依赖于python库的自定义粒度 - 在这种情况下为netifaces

由于所有的小兵都应该能够执行谷物,我们需要确保这个库始终可用。

实现这一目标的最佳做法是什么?是否建议只写一个状态并将此状态应用于所有小兵。在谷物和国家之间存在依赖感觉有点混乱。还有另一种方法来定义谷物本身的依赖性吗?

1 个答案:

答案 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'
        )

欢迎进一步的意见。