I am trying to create a chef recipe which depends on tomcat cookbook such as
tomcat_user = node[:tomcat][:user]
tomcat_user_home_folder = node[:etc][:passwd][tomcat_user][:dir]
execute "Install jasper license" do
command "cp jasperserver.license #{tomcat_user_home_folder}/"
cwd "#{node["install-jasper-license"]["license-location"]}"
end
When I run sudo chef-client on a node, I get the following error:
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/install-jasper-license/recipes/default.rb
================================================================================
NoMethodError
-------------
undefined method `[]' for nil:NilClass
In my opinion this recipe is unable to find node[:etc][:passwd][tomcat_user]. A tomcat user will be installed when tomcat recipe runs. I have also added depends 'tomcat' in metadata.rb of this cookbook. My intent here is to install a file at the home location of the user running tomcat. How do I go about it?