I am trying to implement a wrapper cookbook by taking inspiration from How to Write Reusable Chef Cookbooks, Gangnam Style. I wish to install tomcat 7 on my node without manager app. I have created a wrapper cookbook with the following attributes/default.rb
file:
default["tomcat"]["base_version"] = 7
default["tomcat"]["deploy_manager_apps"] = false
The default attributes provided in tomcat/attributes/default.rb
are:
default["tomcat"]["base_version"] = 6
#other attributes
default["tomcat"]["deploy_manager_apps"] = true
default["tomcat"]["user"] = "tomcat#{node["tomcat"]["base_version"]}
I wish to override these values across all attributes. However attributes such as ["tomcat"]["user"]
are not getting overriden. The above still has the value of tomcat6
in node["tomcat"]["user"]
.
Do I have to override all the attributes which refer to ["tomcat"]["base_version"]}"
? If my attributes/default.rb
were loaded before tomcat cookbook's default.rb
this would have worked fine.
I am using Berkshelf, Vagrant and Chef solo for development. In metadata.rb
of my cookbook, I have mentioned depends "tomcat"
.
My custom cookbook is located at https://github.com/vaibhavguptaIITD/hcentive-ops/tree/master/hc-tomcat and tomcat community cookbook is located at https://github.com/opscode-cookbooks/tomcat.