- From: "Julian C. Dunn" <
>
- To:
- Subject: [chef] Re: Re: Wrapper cookbook requires template of wrapped cookbook
- Date: Sun, 24 Nov 2013 18:56:17 -0500
It should say
template jinfo_file do
cookbook "java"
source "oracle.jinfo.erb"
.
.
.
end
- Julian
On Sun, Nov 24, 2013 at 7:24 AM, Steve Hummingbird
<
>
wrote:
>
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 ]
>
--
[ 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.