安装sensu服务器时,使用厨师食谱配方[sensu :: redis]安装redis时出错

时间:2014-10-01 17:32:29

标签: chef sensu

无法使用redisio cookbook安装redis。安装sensu服务器,sensu :: redis cookbook正在尝试安装redis并因以下错误而失败。 这里有什么遗漏

Chef::Exceptions::ResourceNotFound
----------------------------------
Cannot find a resource matching service[redis6379] (did you define it first?)


Cookbook Trace:
---------------
  /var/chef/cache/cookbooks/redisio/recipes/enable.rb:25:in `block in from_file'
  /var/chef/cache/cookbooks/redisio/recipes/enable.rb:23:in `each'
  /var/chef/cache/cookbooks/redisio/recipes/enable.rb:23:in `from_file'
  /var/chef/cache/cookbooks/sensu/recipes/redis.rb:23:in `from_file'


Relevant File Content:
----------------------
/var/chef/cache/cookbooks/redisio/recipes/enable.rb:

 18:  # limitations under the License.
 19:  #
 20:
 21:  redis = node['redisio']
 22:
 23:  redis['servers'].each do |current_server|
 24:    server_name = current_server["name"] || current_server["port"]
 25>>   resource = resources("service[redis#{server_name}]")
 26:    resource.action Array(resource.action)
 27:    resource.action << :start
 28:    resource.action << :enable
 29:  end
 30:

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。我不确定这是否是同一个原因,但我只是分享我的解决方案并希望它会有所帮助。

我的问题是当我升级redisio repo但没有升级我的运行列表时,在我的情况下,redis.json

我的旧运行列表如下:

"recipe[redisio::install]",
"recipe[redisio::enable]",

我的新运行列表看起来像

"recipe[redisio]",
"recipe[redisio::enable]",

从错误中我们的问题似乎是在enable.rb中。似乎recipe[redisio]会为启用阶段正确设置缺少的资源。我希望只是改变你的运行列表也会为你修复erorr。

P.S。我还必须添加

"install_dir" : "/opt/redis/",

在我的运行列表中。似乎将使用空install_dir

跳过下载和安装步骤