Como não consegui encontrar a razão para isso, "resolvi" o problema com a solução óbvia. Eu tenho um intervalo de execução muito longo (1000 dias) no puppet.conf e executo os ciclos de fantoches do cron via API REST.
Eu estou experimentando com fantoches e estamos usando o FreeBSD em alguns servidores. Notei que o agente no FreeBSD é, por algum motivo, pular corridas, ou seja:
May 6 09:19:15 eagle puppet-agent[66970]: Finished catalog run in 1.97 seconds
May 6 09:49:14 eagle puppet-agent[74306]: Finished catalog run in 1.72 seconds
May 6 10:19:29 eagle puppet-agent[80895]: Finished catalog run in 2.19 seconds
May 6 10:49:29 eagle puppet-agent[87436]: Finished catalog run in 2.37 seconds
May 6 12:19:26 eagle puppet-agent[7879]: Finished catalog run in 2.51 seconds
May 6 12:49:26 eagle puppet-agent[14528]: Finished catalog run in 2.64 seconds
Como você pode ver, ele ignorou duas execuções (11:19 e 11:49). Infelizmente não há mais linhas de fantoches no log. Eu verifiquei o processo do agente de marionetes e ele estava correndo o tempo todo.
O Puppet é a versão v3.1.1, construída a partir de ports, o FreeBSD é o 8.3-STABLE e eu usei a configuração -dist e mudei apenas algumas opções, o mais importante
runinterval = 30m
O host está sendo executado sob a virtualização do KVM, portanto, há alguns movimentos de tempo:
May 6 10:20:28 eagle ntpd[656]: time reset -0.296053 s
May 6 11:19:03 eagle ntpd[656]: time reset -0.333463 s
May 6 12:21:38 eagle ntpd[656]: time reset -0.328728 s
Como você pode ver, há 0,33 segundos de movimento no momento em que o boneco deve correr, mas não tenho certeza se isso é importante ou não. É menos de um segundo, está se movendo para trás e ainda faltam alguns segundos para que a corrida ocorra.
Eu sei que posso executar correções de marionetes do cron, mas gostaria de usar o modo daemon porque estou planejando usar a API REST.
Existe alguma maneira de depurar o mecanismo "acionador de tempo"?
Como não consegui encontrar a razão para isso, "resolvi" o problema com a solução óbvia. Eu tenho um intervalo de execução muito longo (1000 dias) no puppet.conf e executo os ciclos de fantoches do cron via API REST.