I am experimenting with puppet and we are using FreeBSD on some servers. I noticed that the agent on the FreeBSD is for some reason skipping runs, i.e.:
May 6 09:19:15 eagle puppet-agent: Finished catalog run in 1.97 seconds May 6 09:49:14 eagle puppet-agent: Finished catalog run in 1.72 seconds May 6 10:19:29 eagle puppet-agent: Finished catalog run in 2.19 seconds May 6 10:49:29 eagle puppet-agent: Finished catalog run in 2.37 seconds May 6 12:19:26 eagle puppet-agent: Finished catalog run in 2.51 seconds May 6 12:49:26 eagle puppet-agent: Finished catalog run in 2.64 seconds
As you can see, it skipped two runs (11:19 and 11:49). Unfortunately there are no more puppet lines in the log. I checked the puppet agent process and it was running all the time.
Puppet is version v3.1.1, built from ports, FreeBSD is 8.3-STABLE and I used the -dist config and I changed only a few options, most importantly
runinterval = 30m
The host is running under KVM virtualization so there are slight time movements:
May 6 10:20:28 eagle ntpd: time reset -0.296053 s May 6 11:19:03 eagle ntpd: time reset -0.333463 s May 6 12:21:38 eagle ntpd: time reset -0.328728 s
As you can see there is 0.33sec move at cca the time when puppet should run but I am not sure if that is important or not. It is less than one second, its moving backwards and it was still a few seconds before the run should occur.
I know I can run puppet runs from cron but I would like to use daemon mode because I am planning to use the REST API.
Is there any way how to debug the "time trigger" mechanism?