我有一个通知傀儡代理的文件。
在该network
模块中,代理设置包含在 .gemrc 文件中,如下所示:
file { "/root/.gemrc":
content => "http_proxy: $http_proxy\n",
notify => Service['puppet'],
}
问题是人偶停止并且不重新启动。
Aug 31 12:05:13 snch7log01 puppet-agent[1117]: (/Stage[main]/Network/File[/root/.gemrc]/content) content changed '{md5}2b00042f7481c7b056c4b410d28f33cf' to '{md5}60b725f10c9c85c70d97880dfe8191b3'
Aug 31 12:05:13 snch7log01 puppet-agent[1117]: Caught TERM; calling stop
我假设代码做了类似的事情,/etc/init.d/puppet stop && /etc/init.d/puppet start
因为木偶没有运行,它不能自己启动……这是有道理的。
当此文件更改时,如何使人偶重新启动?请注意,此文件可能也不存在。
您可能需要添加到“puppet”的服务资源声明中:
除了确保“hasrestart”在清单中之外,您还应该确保
在清单中。这是我的副本:
我有一个类似的问题。我需要将修复程序部署到 augeas,并使用 puppet 来部署它们,但是直到 puppetd 重新启动它们才会生效。所以我需要一种快速简便的方法来告诉 puppetd 重新启动一次。我用 shell 脚本和 exec 解决了这个问题。
这是脚本:
运行脚本的清单使用它创建的日志文件。(这第一次工作正常 - 如果您进行后续更新,请制作一个将删除日志文件的清单,以便再次运行一次):