我正在使用Puppet进行机器配置.我有一个在Tomcat 6 app服务器上运行的服务,另一个清单依赖于该服务(在安装过程中发送一些REST请求).问题是,在使用以下命令启动tomcat后服务无法使用:
service {"tomcat6": ensure => running,enable => true,hasstatus => true,hasrestart => true; }
所以我需要一些需要条件的另一个清单,以确保服务真正运行(例如检查一些URL是否可用).如果还没有准备好等待一段时间并再次尝试再次尝试重新计算.
是否有一些惯用的Puppet解决方案或其他方案可以实现这一目标?
注意 – 睡眠不是解决方案.
解决方法
感谢lzap和Puppet irc频道的人们在这里是一个解决方案:
exec {"wait for tomcat": require => Service["tomcat6"],command => "/usr/bin/wget --spider --tries 10 --retry-connrefused --no-check-certificate https://localhost:8443/service/",}
使用require =>时在依赖清单中执行[“wait for tomcat”],它将在服务真正准备好之前运行.