- From: Steve Hummingbird <
>
- To:
- Subject: [chef] Re: Wrapper cookbook requires template of wrapped cookbook
- Date: Sun, 24 Nov 2013 13:24:42 +0100
- Authentication-results: smtp2o.mail.yandex.net; dkim=pass
Thanks,
probably I don’t understand your proposal for a fix correctly. The relevant
part of the java provider looks like this:
>
template jinfo_file do
>
source "oracle.jinfo.erb"
>
variables(
>
:priority => new_resource.alternatives_priority,
>
:bin_cmds => new_resource.bin_cmds,
>
:name => java_name,
>
:app_dir => app_home
>
)
>
action :create
>
end
To me that looks hardcoded, but probably you are referring a completely
different part. Could you please clarify that?
On 23 Nov 2013, at 18:37, Julian C. Dunn
<
>
wrote:
>
I would interpret this as a bug in the wrapped cookbook's provider.
>
Probably worth a ticket at tickets.opscode.com.
>
>
It's best practice for providers to hardcode the "cookbook" attribute
>
in the inline "template" resource, otherwise when people try to wrap
>
that cookbook, the cookbook that's searched is the caller's rather
>
than the callee's.
>
>
- Julian
>
>
On Sat, Nov 23, 2013 at 7:22 AM, Steve Hummingbird
>
<
>
>
wrote:
>
> I have created a simple wrapper cookbook called oracle-java for the opscode
>
> java cookbook, which can be found here: https://github.com/st-h/oracle-java
>
>
>
> When I try to run that cookbook it fails since the oracle-java cookbook
>
> does
>
> not contain the template, which is referenced by the java cookbook. If I
>
> copy that template from the java cookbook to the oracle-java cookbook, it
>
> works fine. It doesn’t make much sense to me that a wrapper cookbook needs
>
> to include templates, that are already present in the wrapped cookbook.
>
> What is going on here?
>
>
>
> [2013-11-23T11:41:05+00:00] INFO: Forking chef instance to converge...
>
> [2013-11-23T11:41:05+00:00] INFO: *** Chef 11.8.0 ***
>
> [2013-11-23T11:41:05+00:00] INFO: Chef-client pid: 2087
>
> [2013-11-23T11:41:06+00:00] INFO: Setting the run_list to ["recipe[apt]",
>
> "recipe[oracle-java::default]"] from JSON
>
> [2013-11-23T11:41:06+00:00] INFO: Run List is [recipe[apt],
>
> recipe[oracle-java::default]]
>
> [2013-11-23T11:41:06+00:00] INFO: Run List expands to [apt,
>
> oracle-java::default]
>
> [2013-11-23T11:41:06+00:00] INFO: Starting Chef Run for
>
> oracle-java-berkshelf
>
> [2013-11-23T11:41:06+00:00] INFO: Running start handlers
>
> [2013-11-23T11:41:06+00:00] INFO: Start handlers complete.
>
> [2013-11-23T11:41:06+00:00] INFO: Running queued delayed notifications
>
> before re-raising exception
>
> [2013-11-23T11:41:06+00:00] ERROR: Running exception handlers
>
> [2013-11-23T11:41:06+00:00] ERROR: Exception handlers complete
>
> [2013-11-23T11:41:06+00:00] FATAL: Stacktrace dumped to
>
> /var/chef/cache/chef-stacktrace.out
>
> [2013-11-23T11:41:06+00:00] ERROR: template[/usr/local/java/.default.jinfo]
>
> (/tmp/vagrant-chef-1/chef-solo-1/cookbooks/java/providers/ark.rb line 179)
>
> had an error: Chef::Exceptions::FileNotFound: Cookbook 'oracle-java'
>
> (0.1.0)
>
> does not contain a file at any of these locations:
>
> templates/ubuntu-12.04/oracle.jinfo.erb
>
> templates/ubuntu/oracle.jinfo.erb
>
> templates/default/oracle.jinfo.erb
>
>
>
> ================================================================================
>
> Error executing action `create` on resource
>
> 'template[/usr/local/java/.default.jinfo]'
>
> ================================================================================
>
>
>
>
>
> Chef::Exceptions::FileNotFound
>
> ------------------------------
>
> Cookbook 'oracle-java' (0.1.0) does not contain a file at any of these
>
> locations:
>
> templates/ubuntu-12.04/oracle.jinfo.erb
>
> templates/ubuntu/oracle.jinfo.erb
>
> templates/default/oracle.jinfo.erb
>
>
>
>
>
> Resource Declaration:
>
> ---------------------
>
> # In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/java/providers/ark.rb
>
>
>
> 179: template jinfo_file do
>
> 180: source "oracle.jinfo.erb"
>
> 181: variables(
>
> 182: :priority => new_resource.alternatives_priority,
>
> 183: :bin_cmds => new_resource.bin_cmds,
>
> 184: :name => java_name,
>
> 185: :app_dir => app_home
>
> 186: )
>
> 187: action :create
>
> 188: end
>
> 189: end
>
>
>
>
>
>
>
> Compiled Resource:
>
> ------------------
>
> # Declared in
>
> /tmp/vagrant-chef-1/chef-solo-1/cookbooks/java/providers/ark.rb:179:in
>
> `block (2 levels) in class_from_file'
>
>
>
> template("/usr/local/java/.default.jinfo") do
>
> provider Chef::Provider::Template
>
> action [:create]
>
> retries 0
>
> retry_delay 2
>
> path "/usr/local/java/.default.jinfo"
>
> backup 5
>
> atomic_update true
>
> source "oracle.jinfo.erb"
>
> variables {:priority=>1, :bin_cmds=>["java", "javac"], :name=>"default",
>
> :app_dir=>"/usr/local/java/default"}
>
> cookbook_name :"oracle-java"
>
> end
>
>
>
>
>
>
>
> [2013-11-23T11:41:05+00:00] INFO: Forking chef instance to converge...
>
> [2013-11-23T11:41:06+00:00] FATAL: Chef::Exceptions::ChildConvergeError:
>
> Chef run process exited unsuccessfully (exit code 1)
>
> Chef never successfully completed! Any errors should be visible in the
>
> output above. Please fix your recipes so that they properly complete.
>
>
>
>
--
>
[ Julian C. Dunn
>
<
>
>
* Sorry, I'm ]
>
[ WWW: http://www.aquezada.com/staff/julian * only Web 1.0 ]
>
[ gopher://sdf.org/1/users/keymaker/ * compliant! ]
>
[ PGP: 91B3 7A9D 683C 7C16 715F 442C 6065 D533 FDC2 05B9 ]
Archive powered by MHonArc 2.6.16.