[chef] Re: Re: Wrapper cookbook requires template of wrapped cookbook


Chronological Thread 
  • 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.

§