- From: Daniel DeLeo <
>
- To:
- Subject: [chef] Re: Problems using resources
- Date: Mon, 17 Oct 2011 08:23:22 -0700
On Monday, October 17, 2011 at 7:22 AM,
wrote:
>
I've got a chef server installed on CentOS 6, and am trying to get a recipe
>
working to configure NFS mounts on a client (also CentOS 6), and it keeps
>
failing:
>
>
>
~]# chef-client
>
[Mon, 17 Oct 2011 10:12:56 -0400] INFO: *** Chef 0.10.4 ***
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Run List is [recipe[nfs]]
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Run List expands to [nfs]
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Starting Chef Run for client
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Loading cookbooks [nfs]
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Storing updated
>
cookbooks/nfs/resources/nfs1.rb in the cache.
>
[Mon, 17 Oct 2011 10:12:57 -0400] INFO: Storing updated
>
cookbooks/nfs/metadata.rb in the cache.
>
[Mon, 17 Oct 2011 10:12:57 -0400] ERROR: Running exception handlers
>
[Mon, 17 Oct 2011 10:12:57 -0400] FATAL: Saving node information to
>
/var/chef/cache/failed-run-data.json
>
[Mon, 17 Oct 2011 10:12:57 -0400] ERROR: Exception handlers complete
>
[Mon, 17 Oct 2011 10:12:57 -0400] FATAL: Stacktrace dumped to
>
/var/chef/cache/chef-stacktrace.out
>
[Mon, 17 Oct 2011 10:12:57 -0400] FATAL: NoMethodError: undefined method
>
`mount' for #<Class:0x7fa423126398>
>
>
The contents of my nfs1.rb resource are
>
>
[~/Library/Chef/chef-repo/cookbooks/] % egrep -v '^#'
>
./nfs/resources/nfs1.rb
>
>
mount "/nfsdir" do
>
device "nfs1.dom.ain.com (http://nfs1.dom.ain.com):/ifs/nfs1"
>
fstype "nfs"
>
options "rw"
>
action [:mount, :enable]
>
end
>
>
The stack trace on the client is
>
>
Generated at Mon Oct 17 10:12:57 -0400 2011
>
NoMethodError: undefined method `mount' for #<Class:0x7fa423126398>
>
/var/chef/cache/cookbooks/nfs/resources/nfs1.rb:8:in `class_from_file'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource.rb:533:in
>
`build_from_file'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource.rb:500:in
>
`initialize'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource.rb:500:in
>
`new'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/resource.rb:500:in
>
`build_from_file'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:96:in
>
`load_lwrp_resources'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:120:in
>
`call'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:120:in
>
`foreach_cookbook_load_segment'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:119:in
>
`each'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:119:in
>
`foreach_cookbook_load_segment'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:117:in
>
`each'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:117:in
>
`foreach_cookbook_load_segment'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:94:in
>
`load_lwrp_resources'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/run_context.rb:59:in
>
`load'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/client.rb:195:in
>
`setup_run_context'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/client.rb:159:in
>
`run'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/client.rb:239:in
>
`run_application'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/client.rb:229:in
>
`loop'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application/client.rb:229:in
>
`run_application'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/../lib/chef/application.rb:67:in
>
`run'
>
/usr/lib64/ruby/gems/1.8/gems/chef-0.10.4/bin/chef-client:26
>
/usr/bin/chef-client:19:in `load'
>
/usr/bin/chef-client:19
>
>
I also get the same sort of error when I try to use the "directory"
>
directive.
>
Any thoughts on what I'm doing wrong, here?
>
>
-Mike
>
--
>
>
>
(mailto:
)
Files in the resources directory are for LWRPs:
http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+%28LWRP%29
(tl;dr: DSL for creating your own resource types and provider back-ends)
If you're looking to use existing types to configure a system, you want a
recipe instead. You might find this page handy:
http://wiki.opscode.com/display/chef/Chef+Basics and this one:
http://wiki.opscode.com/display/chef/Recipes
HTH,
--
Dan DeLeo
Archive powered by MHonArc 2.6.16.