2015-12-09 3 views
0

Я создал шаблон в шеф-повара, посылая значение от атрибутов и рецептов, но получаю сообщение об ошибке:неопределенный метод `по умолчанию» для Chef :: РЕСУРС :: Шаблон

[2015-12-09T08:09:19-05:00] ERROR: Running exception handlers 
[2015-12-09T08:09:19-05:00] ERROR: Exception handlers complete 
[2015-12-09T08:09:19-05:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
[2015-12-09T08:09:19-05:00] INFO: Sending resource update report (run-id: a9175420-0358-4631-8d30-664fdfd792c0) 
[2015-12-09T08:09:19-05:00] ERROR: undefined method `default' for Chef::Resource::Template 
[2015-12-09T08:09:19-05:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Как устранить ошибку:

я определил атрибут как:

по умолчанию [ 'а'] [ 'LOG_FILE'] = ''

и в рецепте это

variables(


    :LOG_FILE => default['abc']['LOG_FILE'], 

ответ

1

Ваш синтаксис не так, вам нужно использовать узел вместо используемого по умолчанию при обращении атрибутов:

variables(


    :LOG_FILE => node['abc']['LOG_FILE'], 
+0

Это правильно, но вы получите ошибку пылеобразования рубина 2.0 + Новый синтаксис: 'LOG_FILE: узел [ 'абд'] [ 'LOG_FILE'] ' –