[chef] Re: Re: Re: Re: Re: Re: Re: Re: Problem While Installing Linux Package with Chef


Chronological Thread 
  • From: Kandarp Desai < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: Re: Re: Re: Problem While Installing Linux Package with Chef
  • Date: Mon, 24 Oct 2011 17:43:28 -0700

Thanks.

On Mon, Oct 24, 2011 at 5:37 PM, AJ Christensen < "> > wrote:
Typos: rage.

–AJ

On 25 October 2011 13:37, AJ Christensen < "> > wrote:
> The full resource form:
>
> pacakge "iptables" do
>  provider Chef::Providers::Package::Yum
> end
>
> –AJ
>
> On 25 October 2011 13:35, Kandarp Desai < "> > wrote:
>> Thanks a lot, Joshua. I will file ticket tonight.
>> Also, How do do add provider parameter to package if it's name of the
>> package.
>> e.g. for iptables package, in recipe file, first line is "package
>> "iptables" "
>> If I add ,  provider Chef::Providers::Package, it's not working.
>> What should I use in this case ? So, I won't be blocked by this error.
>> Cheers,
>> KD
>> On Mon, Oct 24, 2011 at 4:49 PM, Joshua Timberman < "> >
>> wrote:
>>>
>>> Hi there!
>>>
>>> The root of the problem is that the tool Chef uses to detect
>>> information about the node it is running on, Ohai, does not have a
>>> plugin to properly detect Oracle Linux. This will affect four
>>> resources:
>>>
>>> cron
>>> mdadm
>>> package
>>> service
>>>
>>> When you have recipes that use any of these recipes, you'll probably
>>> need to add the "provider" parameter to these resources so they work
>>> on Oracle Linux.
>>>
>>> We'd like to correct the problem, though. Please open a ticket at
>>> tickets.opscode.com in the OHAI project to add support for Oracle
>>> Linux. If there's an /etc/redhat-release, please include its contents
>>> in the ticket.
>>>
>>>
>>>
>>> On Mon, Oct 24, 2011 at 4:37 PM, Kandarp Desai < "> >
>>> wrote:
>>> >
>>> > I used
>>> > package "foo" do
>>> >  provider Chef::Providers::Package::Yum
>>> >  action :upgrade
>>> > end
>>> > which solved the problem.
>>> > But, now I'm facing same error for iptables recipe. I'm have download
>>> > iptables recipe from opscode site.
>>> > Just like before, it's been running fine till now. Suddenly, it's
>>> > throwing me following error:
>>> > =============================================================
>>> > Mon, 24 Oct 2011 15:14:47 +0000] DEBUG: Re-raising exception:
>>> > Chef::Exceptions::Override - package[iptables] (iptables::default line 20)
>>> > had an error: You must override load_current_resource in
>>> > #<Chef::Provider::Package:0x7f7b8a1a0588>
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/provider.rb:51:in
>>> > `load_current_resource'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource.rb:416:in
>>> > `run_action'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/runner.rb:45:in
>>> > `run_action'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/runner.rb:78:in
>>> > `converge'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/runner.rb:78:in
>>> > `each'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/runner.rb:78:in
>>> > `converge'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection.rb:94:in
>>> > `execute_each_resource'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in
>>> > `call'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in
>>> > `call_iterator_block'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in
>>> > `step'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in
>>> > `iterate'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in
>>> > `each_with_index'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/resource_collection.rb:92:in
>>> > `execute_each_resource'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/runner.rb:76:in
>>> > `converge'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/client.rb:312:in
>>> > `converge'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/client.rb:160:in
>>> > `run'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/application/solo.rb:192:in
>>> > `run_application'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/application/solo.rb:183:in
>>> > `loop'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/application/solo.rb:183:in
>>> > `run_application'
>>> >
>>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/../lib/chef/application.rb:66:in
>>> > `run'
>>> >   /usr/lib/ruby/gems/1.8/gems/chef-0.10.0/bin/chef-solo:25
>>> >   /usr/bin/chef-solo:19:in `load'
>>> >   /usr/bin/chef-solo:19
>>> > ===================================================================
>>> > Recipe file is:
>>> > ==================================================================
>>> >
>>> > #
>>> >
>>> > # Cookbook Name:: iptables
>>> >
>>> > # Recipe:: default
>>> >
>>> > #
>>> >
>>> > # Copyright 2008-2009, Opscode, Inc.
>>> >
>>> > #
>>> >
>>> > # Licensed under the Apache License, Version 2.0 (the "License");
>>> >
>>> > # you may not use this file except in compliance with the License.
>>> >
>>> > # You may obtain a copy of the License at
>>> >
>>> > #
>>> >
>>> > #     http://www.apache.org/licenses/LICENSE-2.0
>>> >
>>> > #
>>> >
>>> > # Unless required by applicable law or agreed to in writing, software
>>> >
>>> > # distributed under the License is distributed on an "AS IS" BASIS,
>>> >
>>> > # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>> > implied.
>>> >
>>> > # See the License for the specific language governing permissions and
>>> >
>>> > # limitations under the License.
>>> >
>>> > #
>>> >
>>> > package "iptables"
>>> >
>>> > execute "rebuild-iptables" do
>>> >
>>> >   command "/usr/sbin/rebuild-iptables"
>>> >
>>> >   action :nothing
>>> >
>>> > end
>>> >
>>> > directory "/etc/iptables.d" do
>>> >
>>> >   action :create
>>> >
>>> > end
>>> >
>>> > cookbook_file "/usr/sbin/rebuild-iptables" do
>>> >
>>> >   source "rebuild-iptables"
>>> >
>>> >   mode 0755
>>> >
>>> > end
>>> >
>>> > iptables_rule "all_established"
>>> >
>>> > iptables_rule "all_icmp"
>>> >
>>> > ==============================================
>>> > Can you please help ?
>>> > Cheers,
>>> > KD
>>> >
>>> > On Mon, Oct 24, 2011 at 1:54 PM, Kandarp Desai < "> >
>>> > wrote:
>>> >>
>>> >> I'm expecting Chef to use "yum".
>>> >> I have other machine which is using chef "0.10.0" and the same code
>>> >> works fine on that machine.
>>> >> The machine which is having this problem is running chef "0.10.4".
>>> >> Is there any major change between this two versions which could cause
>>> >> this issue?
>>> >> I don't mind downgrading to 0.10.0 temporarily. Also, I don't want to
>>> >> use manual installation as I have many recipes using 50-60 packages
>>> >> installation.
>>> >> -KD
>>> >> On Mon, Oct 24, 2011 at 1:29 PM, AJ Christensen < "> >
>>> >> wrote:
>>> >>>
>>> >>> On 25 October 2011 09:10, Kandarp Desai < "> >
>>> >>> wrote:
>>> >>> > It's on Oracle Linux 6.1
>>> >>>
>>> >>> I don't think anyone has used Chef on Oracle Linux.
>>> >>>
>>> >>> What package manager are you expecting Chef to use?
>>> >>>
>>> >>> There's no mapping for providers for Oracle linux in the platform hash
>>> >>> [0]
>>> >>>
>>> >>> You'll have to expliclity tell Chef which provider you'll want to use
>>> >>> for resources, or adjust the platform hash yourself. This is very
>>> >>> heavy stuff. I'd suggesting opening a ticket for Oracle support and
>>> >>> figuring out what you need to complete to make that happen?
>>> >>>
>>> >>> https://github.com/opscode/chef/blob/master/chef/lib/chef/platform.rb
>>> >>>
>>> >>> In the mean time, you can use something like:
>>> >>>
>>> >>> gem_package
>>> >>> yum_package
>>> >>> dpkg_package
>>> >>>
>>> >>> And so on. Conversely, you can specify the provider in the package
>>> >>> definition itself:
>>> >>>
>>> >>> package "foo" do
>>> >>>  provider Chef::Providers::Package::Yum
>>> >>>  action :upgrade
>>> >>> end
>>> >>>
>>> >>> –AJ
>>> >>>
>>> >>> > My recipe Code Looks like this:
>>> >>> > =====================
>>> >>> > scope = self
>>> >>> > packages = value_for_platform(
>>> >>> >     ["centos","redhat","fedora"] =>
>>> >>> >         {"default" => ["gcc", "gcc-c++", "openssl-devel",
>>> >>> > "pcre-devel",
>>> >>> > "zlib-devel"]},
>>> >>> >     "default" => ["gcc", "gcc-c++", "openssl-devel", "pcre-devel",
>>> >>> > "zlib-devel"]
>>> >>> >   )
>>> >>> > packages.each do |dev_pkg|
>>> >>> >   package dev_pkg
>>> >>> > end
>>> >>> > =========================
>>> >>> > Here's the Debug Output:
>>> >>> > ==============================
>>> >>> > Mon, 24 Oct 2011 13:15:39 +0000] ERROR: package[gcc]
>>> >>> > (/opt/hylocal/conf/chef/solo/cookbooks/nginx/recipes/test.rb:10:in
>>> >>> > `from_file') had an error:
>>> >>> > package[gcc] (nginx::test line 10) had an error: You must override
>>> >>> > load_current_resource in #<Chef::Provider::Package:0x7f72880eec80>
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/provider.rb:51:in
>>> >>> > `load_current_resource'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource.rb:436:in
>>> >>> > `run_action'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/runner.rb:45:in
>>> >>> > `run_action'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/runner.rb:81:in
>>> >>> > `converge'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/runner.rb:81:in
>>> >>> > `each'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/runner.rb:81:in
>>> >>> > `converge'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection.rb:94:in
>>> >>> > `execute_each_resource'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in
>>> >>> > `call'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in
>>> >>> > `call_iterator_block'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in
>>> >>> > `step'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in
>>> >>> > `iterate'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in
>>> >>> > `each_with_index'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource_collection.rb:92:in
>>> >>> > `execute_each_resource'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/runner.rb:76:in
>>> >>> > `converge'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/client.rb:312:in
>>> >>> > `converge'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/client.rb:160:in
>>> >>> > `run'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/solo.rb:192:in
>>> >>> > `run_application'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/solo.rb:183:in
>>> >>> > `loop'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/solo.rb:183:in
>>> >>> > `run_application'
>>> >>> >
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application.rb:67:in
>>> >>> > `run'
>>> >>> > /usr/lib/ruby/gems/1.8/gems/chef-0.10.4/bin/chef-solo:25
>>> >>> > /usr/bin/chef-solo:19:in `load'
>>> >>> > /usr/bin/chef-solo:19
>>> >>> > ==================================================
>>> >>> > Thanks.
>>> >>> > -KD
>>> >>> > On Mon, Oct 24, 2011 at 12:56 PM, AJ Christensen
>>> >>> > < "> > wrote:
>>> >>> >>
>>> >>> >> What platform?
>>> >>> >>
>>> >>> >> Post your recipe code + debug output from Chef.
>>> >>> >>
>>> >>> >> –AJ
>>> >>> >>
>>> >>> >> On 25 October 2011 08:54, Kandarp Desai < "> >
>>> >>> >> wrote:
>>> >>> >> >
>>> >>> >> > Hello,
>>> >>> >> > I've been using chef for a couple of months now.
>>> >>> >> > It's been running fine since yesterday. Suddenly, it started
>>> >>> >> > giving me
>>> >>> >> > error
>>> >>> >> > when I Install any linux package.. e.g. when I install gcc
>>> >>> >> > package, chef
>>> >>> >> > throws exception: "Chef::Exceptions::Override - package[gcc], You
>>> >>> >> > must
>>> >>> >> > override load_current_resource
>>> >>> >> > in #<Chef::Provider::Package:0x7f3eb5e24fa0>"
>>> >>> >> > ..
>>> >>> >> > is this known issue ?
>>> >>> >> > Can someone please help me ?
>>> >>> >> > -KD
>>> >>> >> >
>>> >>> >
>>> >>> >
>>> >>
>>> >
>>>
>>>
>>>
>>> --
>>> Opscode, Inc
>>> Joshua Timberman, Technical Program Manager
>>> IRC, Skype, Twitter, Github: jtimberman
>>
>>
>




Archive powered by MHonArc 2.6.16.

§