Атрибуты шеф-повара не переопределяются для вычисляемых атрибутов

Сегодня я обновил поваренную книгу opscode jenkins моей сольной установки шеф-повара. За исключением пары изменений по сравнению с версией 0.8, которые отлично сработали для меня (например, удаление атрибута jenkins_data), я заметил, что определение некоторых атрибутов также было изменено: с

default['jenkins']['server']['url']  = "http://#{node['jenkins']['server']['host']}:#{node['jenkins']['server']['port']}"

to

default['jenkins']['server']['url']  = "http://#{default['jenkins']['server']['host']}:#{default['jenkins']['server']['port']}"

Таким образом, в новой версии jenkins.server.url определяется как объединение DEFAULT jenkins.server.host : и DEFAULT jenkins. сервер.порт. Проблема в том, что когда моя роль определяет атрибут по умолчанию/переопределения jenkins.server.port, новое значение правильно отражается в атрибуте, но jenkins.server.url по-прежнему ссылается на исходный порт . Похоже, атрибуты поваренных книг сначала оцениваются, а затем могут быть переопределены атрибутами ролей. Согласно статье, в Chef 10 это должно было работать так же. но это должно быть исправлено в шеф-поваре 11. Я почти уверен, что использую шеф-повара 11 - когда мой бродячий шеф-повар работает, я вижу:

 INFO: *** Chef 11.4.2 ***

Любая помощь в этом?


person user62058    schedule 10.09.2013    source источник


Ответы (1)


Рецепт работает так, как задумано (хотя, возможно, не следует использовать default вместо node), поэтому вам придется изменить все атрибуты, которые используют в них значения по умолчанию.

person borntyping    schedule 26.10.2013