7

我需要一种方法来检测 puppet 是否已完成初始运行(成功),因此我可以在启动 AWS EC2 和/或 OpenStack 上的机器时等待启动其他操作。我怎样才能检查这个?

到目前为止提出的一些想法是:

  1. 完成后(成功)让木偶触摸文件,然后我可以只看那个文件
  2. 让木偶在完成(成功)后写一个事实,我可以通过 mcollective 检查事实。(不确定是否可以从 puppet 运行中写入 puppet db)
4

2 回答 2

6
/var/lib/puppet/state/puppetdlock
/var/lib/puppet/state/state.yaml
/var/lib/puppet/state/last_run_summary.yaml

这些是您要检查的文件。

如果 puppetd ​​当前正在运行,则设置锁定文件。State 和 last_run_summary 可用于查看过去的运行是否成功。

另请参阅此服务器故障问题:

https://serverfault.com/questions/463231/check-if-puppet-agent-is-up-to-date

于 2013-11-01T22:02:10.797 回答
1

我在 CentOS 6.4 上试过

如果您运行服务器/客户端模式,请检查文件是否存在:

/var/lib/puppet/state/agent_catalog_run.lock

如果您单独运行它,我发现不存在锁定文件。也许你需要解析这个条目的日志文件“Finished catalog run in xxx seconds”

于 2013-11-02T08:27:27.760 回答