我正在尝试编写一个 if 子句来根据机器的当前状态执行某些操作。我理解根据 puppet 的哲学目录在机器中运行之前会进行评估并推送到机器。
为了保持一致性,我想使用 puppet,而不是使用自定义脚本(如 bash)。如果可能的话,我需要 puppet 中的这种行为。
以下是示例:puppet 代理每小时在一台机器上运行一次: - 拉取一个仓库来查看任何新的提交 - 在仓库中搜索特定的单词 - 如果找到:触发一些依赖项 - 如果未找到:触发其他依赖项
我的问题:“If 子句”已在 Puppet 服务器中进行评估,因此无法根据机器状态按照所需顺序建立依赖关系。
任何想法?
答案1
您必须制作一个 Puppet Fact 来显示您感兴趣的机器的状态,然后根据该事实制定“if 子句”。看看这些:
https://puppet.com/docs/facter/3.5/custom_facts.html
https://puppet.com/docs/puppet/5.3/lang_facts_and_builtin_vars.html