2013-04-06 4 views
0

Может кто-то сталкивался с такой же ситуациейChef и redissio ошибка

У нас есть чистый экземпляр на Redis, которые пытаются поставить шеф- По умолчанию рецепт имеет только

include_recipe «redisio :: установить»

Когда я готовлю получаю следующее сообщение об ошибке Enviroment AWS ec2.micro убунту 12,04 Когда я бегу сварить, чтобы получить сообщение об ошибке

================================================================================ 
Recipe Compile Error in /tmp/chef-solo/cookbooks/main/recipes/default.rb 
================================================================================ 


NoMethodError 
------------- 
undefined method `[]' for nil:NilClass 


Cookbook Trace: 
--------------- 
    /tmp/chef-solo/cookbooks/ulimit/recipes/default.rb:13:in `block in from_file' 
    /tmp/chef-solo/cookbooks/ulimit/recipes/default.rb:12:in `from_file' 
    /tmp/chef-solo/cookbooks/redisio/recipes/install.rb:20:in `from_file' 
    /tmp/chef-solo/cookbooks/main/recipes/default.rb:11:in `from_file' 


Relevant File Content: 
---------------------- 
/tmp/chef-solo/cookbooks/ulimit/recipes/default.rb: 

    6: # All rights reserved - Do Not Redistribute 
    7: # 
    8: ulimit = node['ulimit'] 
    9: 
10: case node[:platform] 
11: when "debian", "ubuntu" 
12:  template "/etc/pam.d/su" do 
13>>  cookbook ulimit['pam_su_template_cookbook'] 
14:  end 
15: end 
16: 


[2013-04-06T14:09:50+00:00] ERROR: Running exception handlers 
[2013-04-06T14:09:50+00:00] ERROR: Exception handlers complete 
Chef Client failed. 0 resources updated 
[2013-04-06T14:09:50+00:00] FATAL: Stacktrace dumped to /tmp/chef-solo/chef-stacktrace.out 
[2013-04-06T14:09:50+00:00] FATAL: NoMethodError: undefined method `[]' for nil:NilClass 
ERROR: RuntimeError: chef-solo failed. See output above. 

Ресурс https://github.com/Piom/redis-chef.git

ответ

1

Я столкнулся с этим вопросом. У меня есть один способ решить это, но я также просто начал изучать шеф-повара.

проблема redisio зависит от ulimit и выглядит так, как рецепт не обрабатывается, когда у вас нет атрибутов для определения ulimit.

ulimit = node['ulimit'] 

попытаться получить хэш атрибутов, но получает нуль. Поэтому, если вы определяете некоторые атрибуты, он должен работать.

может быть обновленная версия рецепта, так как вы его загрузили. Если нет в ulimit/attributes/default.rb, у меня есть default['ulimit']['pam_su_template_cookbook'] = nil, и это сработало для меня.

ulimit позволит вам ограничить ресурсы. Я думаю, что он может использоваться для ограничения ресурсов redis. (опять же я новичок). Таким образом, лучший способ может показаться, как вы хотите настроить ulimit и установить правильный атрибут, а не nil