[chef] RE: RE: Re: LWRP for N00bs


Chronological Thread 
  • From: Brian Begy < >
  • To: " " < >
  • Subject: [chef] RE: RE: Re: LWRP for N00bs
  • Date: Wed, 27 Aug 2014 21:23:05 +0000
  • Accept-language: en-US

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:
 
Sent: Wednesday, August 27, 2014 9:29 AM
To: 

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:
Sent: Tuesday, August 26, 2014 10:04 PM
To: 

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 
< >
 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.



Archive powered by MHonArc 2.6.16.

§