确保服务器在Chef配方中启动

时间:2014-04-08 18:17:34

标签: chef chef-recipe

我是厨师新手。我有一个配方,我需要启动服务器,然后等待服务器成功启动。到目前为止,我有这个;

service "myserver" do
  action :start
end

execute "ensure myserver startup" do
  command "curl http://#{node['myserver']['http']['host']}:#{node['myserver']['http']['port']}"
  retries 5
  retry_delay 15
end

这对我来说似乎并不合适,对于厨师脚本来说似乎很常见。等待服务器启动的惯用方法是什么?

1 个答案:

答案 0 :(得分:0)

另一种方法是使用ruby块并使用属性来控制重试次数,重试之间的休眠时间。这也有助于记录,引发错误。 This is a sample code performing a similar problem。这里服务出现时,ZooKeeper中的一个条目作为znode,因此ruby_block正在检查znode_exists?。您可以将其替换为curl