Я пытаюсь добавить некоторый пользовательский код в кулинарную книгу развертывания opsworks, связанную с этапом before_migrate:
before_migrate do
link_tempfiles_to_current_release
deploy_version = Time.now.strftime("%Y%m%d%H%M%S")
if node['deploy_app'] == 'web'
link "/var/lib/tomcat#{node["tomcat"]["base_version"]}/webapps/ROOT###{deploy_version}" do
to "#{release_path}"
end
Проблема, с которой я сталкиваюсь, заключается в том, что когда я включаю кулинарную книгу развертывания в свой пакет site-cookbook, я получаю ошибку шеф-повара:
[2013-08-27T16:45:05+00:00] FATAL: Chef::Exceptions::ImmutableAttributeModification: ruby_block[Compile Custom OpsWorks Run List] (opsworks_custom_cookbooks::execute line 3) had an error: Chef::Exceptions::ImmutableAttributeModification: Node attributes are read-only when you do not specify which precedence level to set. To set an attribute use code like `node.default["key"] = "value"'
Я проверил, что ни в одной из моих поваренных книг нет неправильных настроек узла, поэтому я не знаю, в чем может быть проблема. Я нахожу эту ошибку очень сложной для отладки, и даже когда я включаю эту кулинарную книгу без каких-либо изменений, я получаю эту ошибку. Пожалуйста, дайте мне знать, если вы можете указать мне в правильном направлении.