melezhik / cookbooks

perl chef cookbooks
https://github.com/melezhik/cookbooks
21 stars 27 forks source link

Undefined method or attribute `cpan_client' on `node' #23

Closed johnc10uk closed 10 years ago

johnc10uk commented 10 years ago

Not sure if this is a version problem or missing a cookbook but chef cannot find the cpan_client. I only have cpan cookbook installed.

include_recipe 'cpan::default' include_recipe 'cpan::bootstrap'

Thanks, John.

==> nagios_server: NoMethodError ==> nagios_server: ------------- ==> nagios_server: Undefined method or attribute cpan_client' onnode' ==> nagios_server: ==> nagios_server: ==> nagios_server: Cookbook Trace: ==> nagios_server: --------------- ==> nagios_server: /tmp/vagrant-chef-2/chef-solo-1/cookbooks/cpan/recipes/bootstrap.rb:3:in from_file' ==> nagios_server: /tmp/vagrant-chef-2/chef-solo-2/cookbooks/monitoring/recipes/configure-server-hadoop-nagios-plugins.rb:11:infrom_file' ==> nagios_server: ==> nagios_server: ==> nagios_server: Relevant File Content: ==> nagios_server: ---------------------- ==> nagios_server: /tmp/vagrant-chef-2/chef-solo-1/cookbooks/cpan/recipes/bootstrap.rb: ==> nagios_server: ==> nagios_server: 1: include_recipe 'cpan' ==> nagios_server: 2: ==> nagios_server: 3>> node.cpan_client.bootstrap.packages.each { |p| package p } ==> nagios_server: 4: ==> nagios_server: 5: execute 'curl -L http://cpanmin.us | perl - --sudo App::cpanminus' do ==> nagios_server: 6: only_if do ==> nagios_server: 7: exe_run = true ==> nagios_server: 8: unless node.cpan_client.bootstrap.keep_uptodate ==> nagios_server: 9: if system("which cpanm > /dev/null 2>&1") ==> nagios_server: 10: exe_run = false ==> nagios_server: 11: end ==> nagios_server: 12: end ==> nagios_server: ==> nagios_server: ==> nagios_server: ==> nagios_server: [2014-06-26T08:04:59+00:00] ERROR: Running exception handlers ==> nagios_server: [2014-06-26T08:04:59+00:00] ERROR: Exception handlers complete ==> nagios_server: [2014-06-26T08:04:59+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out ==> nagios_server: [2014-06-26T08:04:59+00:00] FATAL: NoMethodError: Undefined method or attribute cpan_client' onnode'

melezhik commented 10 years ago

Hi John! Could you provide complete stack trace? It's not obvious which line at the error occurred. does chunk nagios_server: [2014-06-26T08:04:59+00:00] FATAL: NoMethodError: Undefined method or attribute cpan_client' onnode' have a line number?

melezhik commented 10 years ago

oh, I see ... - it's line number 3 at bootstrap.rb recipe ...

melezhik commented 10 years ago

Please let me know HOW you use cpan cookbook? It's show only that one calls somewhere:

include_recipe 'cpan::default' include_recipe 'cpan::bootstrap'

Do you have this at somewhere's cookbooks metadata.rb:

 depends 'cpan'
melezhik commented 10 years ago

To my previous comment - I just only want to say, that it seems, according to stack trace, chef can not find cpan_client attribute, which is defined in cpan cookbook, which in turn may be cased that one does not declare dependency in cpan cookbook in metadata.rb file.