I need a way to detect that puppet has finished an initial run ( successfully ), so I can wait before launching other actions when spinning up machines on AWS EC2 and/or OpenStack. How can I check this?
Some ideas floated so far are:
/var/lib/puppet/state/puppetdlock
/var/lib/puppet/state/state.yaml
/var/lib/puppet/state/last_run_summary.yaml
These are the files you want to check.
The lock file is set if puppetd is currently running. State and last_run_summary can be used to see if past runs have succeeded or not.
See also this serverfault question:
https://serverfault.com/questions/463231/check-if-puppet-agent-is-up-to-date
I have try it on CentOS 6.4
If you run Server/Client mode, check the file exist:
/var/lib/puppet/state/agent_catalog_run.lock
If you run it in standalone, I don't find there exist a lock file. Maybe you need to parse the log file for this item "Finished catalog run in xxx seconds"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With