SaltStack模块与州

时间:2017-07-06 08:45:13

标签: python salt-stack

当搜索SaltStack的功能时,通常会出现状态和模块(当搜索" saltstack用户"例如,一个获得salt.states.usersalt.modules.user)。

阅读文档,我得到的印象是状态以某种方式调用模块或模块中的函数来实现状态设置。但对我来说并不是很清楚。因此,以下问题:

SaltStack中的模块和状态有什么区别?

1 个答案:

答案 0 :(得分:4)

首先:

  • 模块直接执行。如果重复执行某个模块,则每次都执行该任务。例如。如果重复执行salt.modules.file.copy,它会在每次执行时覆盖现有文件。
  • 状态描述了目标系统特定部分的理想状态应该如何。例如。如果你反复执行salt.states.file.copy,它总是检查文件是否已经存在,并且它只复制文件(如果文件不存在)。

如果你现在仔细研究状态的python源代码,你会发现状态大部分时间都使用它们的相关模块。但是他们在执行它们之前会进行一些检查,如果检查表明所需的状态尚未存在,它们只会执行它们。

我希望,这会使差异更加清晰