【问题标题】:How to detect that a puppet run is complete如何检测人偶运行是否完成
【发布时间】:2013-11-13 00:25:41
【问题描述】:

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

目前提出的一些想法是:

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 puppet openstack


    【解决方案1】:
    /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

    【讨论】:

    • 如果您使用 Puppet Enterprise,这些文件通常位于 /var/opt/lib/pe-puppet/state 下。如果您安装在自定义位置,请使用 puppet config print vardir 查找目录
    【解决方案2】:

    我已经在 CentOS 6.4 上试用过

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 2015-04-05
      • 1970-01-01
      • 2011-06-21
      • 2021-05-25
      • 1970-01-01
      • 2012-11-08
      • 2021-11-21
      • 1970-01-01
      相关资源
      最近更新 更多