是否需要必需品,或订单是否足够?

时间:2014-02-11 12:14:34

标签: deployment requirements configuration-management salt-stack

Salt文档充满了这种模式:

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

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

来自“Understanding State Ordering”:

  

要完成与经典命令系统功能类似的操作,可以省略所有必需条件,然后在主配置中将failhard选项设置为True,这将在第一次失败时停止所有状态运行。

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

2 个答案:

答案 0 :(得分:3)

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

订购现已足够。

答案 1 :(得分:1)

现在按照sls文件中声明的顺序执行状态。如果你想确保某个状态在另一个状态之前成功执行,那么你仍然希望使用“require”。

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

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

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