Я пытаюсь реализовать кулинарную книгу обертки, беря вдохновение от How to Write Reusable Chef Cookbooks, Gangnam Style. Я хочу установить tomcat 7 на свой узел без приложения менеджера. Я создал обертку поваренную книгу со следующим attributes/default.rb
файла:Приоритет атрибута в поваренной книге повара
default["tomcat"]["base_version"] = 7
default["tomcat"]["deploy_manager_apps"] = false
Атрибуты по умолчанию, представленные в tomcat/attributes/default.rb
являются:
default["tomcat"]["base_version"] = 6
#other attributes
default["tomcat"]["deploy_manager_apps"] = true
default["tomcat"]["user"] = "tomcat#{node["tomcat"]["base_version"]}
Я хочу, чтобы переопределить эти значения по всем признакам. Однако атрибуты, такие как ["tomcat"]["user"]
, не получают превышения. Вышеуказанное значение имеет значение tomcat6
в node["tomcat"]["user"]
.
Должен ли я переопределить все атрибуты, относящиеся к ["tomcat"]["base_version"]}"
? Если бы мои attributes/default.rb
были загружены до того, как default.rb
кулинарной книги tomcat это сработало бы хорошо.
Я использую Berkshelf, Vagrant и Chef solo для разработки. В metadata.rb
моей поваренной книги я упомянул depends "tomcat"
.
Моя обычная поваренная книга находится по адресу https://github.com/vaibhavguptaIITD/hcentive-ops/tree/master/hc-tomcat, а кулинарная книга tomcat находится по адресу https://github.com/opscode-cookbooks/tomcat.
Спасибо за ваш ответ. Просто быть любопытным, не такая процедура немного громоздка при написании поваренной книги обертки. Не следует ли сначала загружать атрибуты повара обертки, прежде чем упакованная кулинарная книга. – Vaibhav
Обсуждается это поведение в https://tickets.opscode.com/browse/CHEF-4837 –
Это сообщение в блоге определяет это хорошо http://www.getchef.com/blog/2013/12/03/doing -wrapper-cookbooks-right/hopefully, они фиксируют это в следующем клиенте. Эта проблема превращает файл атрибута 2 строки в файл с 50 строками + атрибут –