我在Debian 14.04嵌入式系统上使用upstart启动puppet代理:
description "Puppet Agent"
start on started 2klic-gateway
stop on runlevel [!2345]
respawn
pre-start script
if [ ! -f /var/lib/sc2klic/system.json ]; then
stop ; exit 0
fi
puppet config set certname "$(hostname)"
end script
exec /usr/local/bin/puppet agent --no-daemonize
设备或至少此版本没有硬件时钟。所以系统从1970年1月1日开始。
当我查看/var/log/upstart/puppet-agent.log
时,我一遍又一遍地看到这个错误:
ESC[1;31mError: Could not parse application options: copyright with a year after 1972 is very strange; did you accidentally add or subtract two years?ESC[0m
是否可以在没有正确日期的情况下初始化木偶代理?
Puppet Agent版本4.10.1
答案 0 :(得分:0)
这个错误似乎与文档有关,所以我不知道它是否应该在这里出错。我建议pull-request做一个例外,在这种情况下不会触发。
那说我们知道如果1970年的设备不在线,那么木偶就不能用了。
作为解决方法,我将以下内容添加到upstart pre-start脚本中:
while [[ $(date +%Y) == "1970" ]]
do
sleep 30
done
这样我们就可以让木偶等到设备连接到NTP服务器。