解决盐粒的依赖
Resolving dependecies of salt grains
我们正在使用 saltstack 并希望编写一个依赖于 python 库的自定义 grain - 在本例中为 netifaces。
由于所有 minions 都应该能够执行 grain,因此我们需要确保该库始终可用。
实现此目标的最佳做法是什么?是否建议只编写一个状态并将该状态应用于所有 minions。在 grain 和 state 之间有依赖关系感觉有点乱。是否有另一种方法来定义 grains 本身的依赖关系?
Grains 不负责管理自己的依赖项。基于此,对我来说,编写一个解决 grain 依赖关系的状态似乎很直接。
saltstack/salt/salt/grains/core.py 中运送的 Grains 报告缺少这样的模块:
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'
)
欢迎补充意见。
我们正在使用 saltstack 并希望编写一个依赖于 python 库的自定义 grain - 在本例中为 netifaces。
由于所有 minions 都应该能够执行 grain,因此我们需要确保该库始终可用。
实现此目标的最佳做法是什么?是否建议只编写一个状态并将该状态应用于所有 minions。在 grain 和 state 之间有依赖关系感觉有点乱。是否有另一种方法来定义 grains 本身的依赖关系?
Grains 不负责管理自己的依赖项。基于此,对我来说,编写一个解决 grain 依赖关系的状态似乎很直接。
saltstack/salt/salt/grains/core.py 中运送的 Grains 报告缺少这样的模块:
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'
)
欢迎补充意见。