是必需的,还是订单足够



Salt 文档充满了这种模式:

apache:
  pkg:
    - installed
  service:
    - running
    - require:
      - pkg: apache

这种重复("安装 apache,现在检查是否安装了 apache")似乎违反了不要重复自己 (DRY)。那么有必要吗?

从"了解状态排序":

为了完成类似于经典命令式系统功能的方式,可以省略所有必要条件,然后在主配置中将 failhard 选项设置为 True,这将在故障的第一个实例停止所有状态运行。

这似乎意味着在任何地方使用必要条件实际上是可选的(假设声明顺序是正确的)——但我想知道。

它是 0.15 天之前状态未自上而下执行的残余。

现在订购就足够了。

状态现在按照它们在 sls 文件中声明的顺序执行。你仍然想要使用"require"的地方是,如果你想确保某个状态在另一个状态之前成功执行。

例如,您可能希望在尝试放置配置文件之前确保正确安装软件包。

apache:
  pkg:
    - installed
  file:
    - managed
    - name: /etc/apache/httpd.conf
    - source: salt://apache/httpd.conf
    - require:
      - pkg: apache

如果没有上面示例中的"require",即使 apache pkg 安装失败,配置文件也会被放下。

相关内容

  • 没有找到相关文章

最新更新