Salt文档充满了这种模式:
apache:
pkg:
- installed
service:
- running
- require:
- pkg: apache
这个重复(“安装apache,现在检查是否安装了apache”)似乎违反了不重复自己(DRY)。那有必要吗?
来自“Understanding State Ordering”:
要完成与经典命令系统功能类似的操作,可以省略所有必需条件,然后在主配置中将failhard选项设置为True,这将在第一次失败时停止所有状态运行。
这似乎意味着在任何地方使用必需品实际上是可选的(假设声明顺序是正确的) - 但我想知道肯定。
答案 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安装失败,也会放下配置文件。