chef - 连接到另一台机器后重新启动服务

时间:2017-04-06 08:51:16

标签: amazon-web-services solr chef chef-recipe

我是厨师的新手并且正在努力解决这个问题 - 我不确定它是否可能,如果可能,如何实现它。到目前为止,谷歌已经失败了。

我有一个厨师客户和厨师服务员,我上传食谱在我的客户端上运行。我通过在Chef客户端计算机上运行chef-client来触发代码。

我尝试做的是通过ssh连接到其他几个盒子,然后停止服务,清除目录并重启服务。

工作时,我将定位Solr服务

我的基本测试代码如下:

    ruby_block 'do something' do
    block do
        Chef::Log.info('Do Something')
        Chef::Resource::Notification.new('stop', :run, self)
    end
end

#define the service - does nothing
service 'atd' do
    action :nothing
end

#do something that triggers
execute 'start' do
  command 'pwd'
    Chef::Log.info('triggers start')
    action :nothing
    notifies :start, run_context.resource_collection.find(:service => 'atd')
end

execute 'stop' do
    # some stuff
    # on success...
    command 'pwd'
    Chef::Log.info('triggers restart')
    notifies :stop, run_context.resource_collection.find(:service => 'atd'), :immediately
    notifies :run, 'execute[start]'
end

在ruby块中我计划迭代我拥有的机器列表并对它们进行ssh。那么可以在这些机器上运行其余的代码吗?

感谢您提供任何帮助/建议。

0 个答案:

没有答案