2014-10-01 25 views
1

無法使用redisio食譜安裝redis。安裝sensu服務器,sensu :: redis cookbook試圖安裝redis,並在出現以下錯誤時失敗。 這裏什麼都沒有了在安裝sensu服務器時安裝使用主廚食譜配方[sensu :: redis]的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: 

回答

5

我遇到了同樣的問題。我不確定這是否是同一原因,但我只是分享我的解決方案,並希望它會有所幫助。

我的問題是,當我升級redisio回購,但沒有升級我的運行列表,在我的情況,redis.json

我的舊的運行列表的樣子:

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

我的新的運行列表看起來像

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

從錯誤我們的問題似乎在enable.rb。看起來recipe[redisio]會爲啓用階段正確設置缺失的資源。我希望只要修改你的運行列表就可以修復你的錯誤。

P.S.我還必須在我的運行列表中添加

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

。看來下載安裝步驟會跳過空的install_dir

+0

Thanyou Liyan。我知道這本食譜的新版本遇到了這個問題。所以我把它改爲1. 7. 1,它爲我工作。看似sensu現在正在更新,並有相同的修復。 – Saurav 2014-10-07 21:51:29

+0

謝謝@Liyan。爲我工作。沒有必要添加install_dir壽。 – user1052313 2014-10-14 15:57:37

+0

將'recipe [redisio :: install]'變更爲'recipe [redisio]'對我來說已經足夠了,感謝您拯救我的理智@Liyan! – spume 2016-08-26 11:21:03