The answer I got from an expert is "don't name your LWRP anything but lower case letters or you will have a Bad Time."
Replacing my intercapping with all lowercase fixed the problem.
Thanks!
Brian
-----Original Message-----
From: Brian Begy [mailto:bbegy@spotlite.com]
Sent: Wednesday, August 27, 2014 9:29 AM
To: chef@lists.opscode.com
Subject: [chef] RE: Re: LWRP for N00bs
Thanks. I'm still getting an error.
(My resource is actually called SpotliteWebServer).
my resource file is /resources/SpotliteWebServer.rb my resource provider is /provider/SpotliteWebServer.rb
When I call it like this
web_server_SpotliteWebServer "choice" do
AppName "choice"
----SNIP----
end
uninitialized constant Chef::Resource::Webserverspotlitewebserver
The top of the resource is:
def load_current_resource
@current_resource = Chef::Resource::Webserverspotlitewebserver.new(@new_resource.name)
begin
@current_resource.name(new_resource.name)
@current_resource
rescue
Chef::Log.debug("Cannot find #{new_resource} in the swarm")
end
end
I'm basically cargo-culting in some of these
Thanks!
Brian
-----Original Message-----
From: Sean OMeara [mailto:someara@opscode.com]
Sent: Tuesday, August 26, 2014 10:04 PM
To: chef@lists.opscode.com
Subject: [chef] Re: LWRP for N00bs
If you just use the libraries directory, it won't try to infer the name from the cookbook.
Example:
https://github.com/opscode-cookbooks/httpd/blob/master/libraries/resource_httpd_service.rb#L7-L8
On Tue, Aug 26, 2014 at 10:45 PM, Brian bbegy@spotlite.com wrote:
I'm trying to figure out why Chef is not correctly loading my lwrps.
So I'm trying to build a custom lwrp in my recipe.
I have a cookbook named web_server. I have a resource called
webserver. (real original, I know.).
I'm getting a NameError when I try to use web_serverwebserver in a recipe. I
suspect I'm doing something wrong in my load_current_resource, but I
don't know what.
my load_current_resource
def load_current_resource
@current_resource = web_serverwebserver.new(@new_resource.AppName)
@current_resource
end
I have tried
web_server::webserver.
Chef::Resource::webserver
Chef::Resource::web_server::webserver
and pretty much everything else I can think of. What am I doing wrong here?
Is there a good way to get Chef to report why it can't seem to find my
resource?
-l debug doesn't seem to provide much in the way of detail as to why
it can't find my lwrp.