无法使用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:
答案 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