[chef] chef/mixin/language_include_attribute.rb:45:in `include_attribute': undefined method `[]' for nil:NilClass (NoMethodError)


Chronological Thread 
  • From: Ringo De Smet < >
  • To:
  • Subject: [chef] chef/mixin/language_include_attribute.rb:45:in `include_attribute': undefined method `[]' for nil:NilClass (NoMethodError)
  • Date: Thu, 24 Jun 2010 17:30:51 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=sWsHud3b4SM6CPSrRYVz/loGjQ7k8CFFsP41ncQsBzbF0SUxBt2XkQbarjF8uD3gdv O1PqviqouuepEukSM55+0sq3yJMtP3iKQiI9l9PsKzfdY30ol9g0ZAuHIx1U9TfAgKoT uChSLjbr5i+DTj5iIRHrYT/QswrEAqHo876T4=

Hello,

Today, I was adding an additional node to my Chef 0.8.16 setup. As I
did with my previous nodes, I followed the following instructions:

http://wiki.opscode.com/display/chef/Preparing+Debian+and+Ubuntu+for+RubyGems
http://wiki.opscode.com/display/chef/Bootstrap+Chef+RubyGems+Installation

Now that Chef 0.9 is released, and some of the wiki docs updated for
that, I took care to use the 0.8 instructions: installing RubyGems
1.3.6 and explicitely installing chef 0.8.16.

When I ran chef solo with the bootstrap::client recipe, I got the
stacktrace as can be seen here:

/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/mixin/language_include_attribute.rb:45:in
`include_attribute': undefined method `[]' for nil:NilClass
(NoMethodError)
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/mixin/language_include_attribute.rb:32:in
`each'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/mixin/language_include_attribute.rb:32:in
`include_attribute'
        from /tmp/chef-solo/cookbooks/chef/attributes/server_proxy.rb:20:in 
`from_file'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook.rb:83:in
`load_attribute_file'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook.rb:76:in
`load_attributes'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook.rb:75:in
`each'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook.rb:75:in
`load_attributes'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/compile.rb:78:in
`load_attributes'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook_loader.rb:137:in
`each'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/cookbook_loader.rb:136:in
`each'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/compile.rb:77:in
`load_attributes'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/compile.rb:52:in
`initialize'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/client.rb:329:in
`new'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/client.rb:329:in
`converge'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/client.rb:108:in
`run_solo'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/application/solo.rb:198:in
`run_application'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/application/solo.rb:190:in
`loop'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/application/solo.rb:190:in
`run_application'
        from 
/usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/../lib/chef/application.rb:62:in
`run'
        from /usr/lib/ruby/gems/1.8/gems/chef-0.8.16/bin/chef-solo:25
        from /usr/bin/chef-solo:19:in `load'
        from /usr/bin/chef-solo:19

Full debug from the chef-solo run:

http://gist.github.com/451570

On all my previous nodes, this worked flawlessly. I am either missing
something on this node, or the bootstrap-latest cookbooks on S3 are
also updated for Chef 0.9 rendering them incompatible with 0.8.16.
However, I can not validate the latter as
http://s3.amazonaws.com/chef-solo/ doesn't return an index file list.

Any help is appreciated.

Ringo



Archive powered by MHonArc 2.6.16.

§