On 11/13/08, Luke Kanies <[EMAIL PROTECTED]> wrote:
>
>  On Nov 13, 2008, at 11:42 AM, Thom May wrote:
>
>  >
>  > On 11/12/08, Luke Kanies <[EMAIL PROTECTED]> wrote:
>  >>
>  >> On Nov 9, 2008, at 8:14 PM, Thom May wrote:
>  >>
>  >>> Hey,
>  >>> I have a very trivial parsedfile based type - http://pastie.org/311146
>  >>> - that works fine when deployed and run under puppetd -t. However,
>  >>> when being run by the daemonized puppet, it results in this error:
>  >>>
>  >>> Mon Nov 10 03:50:48 +0000 2008
>  >>> //Node[ams-proxy-2]/quagga/Quagga::Daemon[zebra]/
>  >>> Quagga_service[zebra]
>  >>> (err): Failed to retrieve current state of resource: No ability to
>  >>> determine if quagga_service exists
>  >>>
>  >>> It seems like this is the provider failing to respond to exists? but
>  >>> that, as far as I can tell, should be provided by parsedfile.
>  >>
>  >>
>  >>
>  >> I tried to help a bit on irc but I don't think we ever resolved it,
>  >> so
>  >> I'll try to help here.  (And for the record, if someone thinks
>  >> there's
>  >> a thread on the user list that I haven't responded to yet and should,
>  >> feel free to send me a direct note.)
>  >>
>  >> I've only ever seen this when the resource somehow doesn't have a
>  >> provider.  For better or worse, the 'provider' method uses the
>  >> resource as the provider if no provider is actually available:
>  >>
>  >>     def provider
>  >>         @resource.provider || @resource
>  >>     end
>  >>
>  >> I think that's a design bug, but it works that way right now.
>  >>
>  >> I'd guess your resource isn't finding the provider -- is it stored at
>  >> 'provider/$type/$provider.rb'?
>  >>
>  >
>  > It's synced from a module, ends up looking like:
>  > (libdir = /var/lib/puppet/lib)
>  >
>  > /var/lib/puppet/lib/puppet/type/quagga_service.rb
>  > /var/lib/puppet/lib/puppet/provider/quagga_service/parsed.rb
>  >
>  > So yeah, it looks like it ought to be right.
>  > Since I didn't mention the versions, this is 0.24.6 across the board.
>
>
> Maybe there's a syntax error in the provider that's not logging well?
>
>  Here are a few things you can do to test (this uses ruby -e, but irb
>  is a better way to test):
>
>  ruby -rpuppet -rpuppet/quagga_service/parsed -e 'puts :yep'
>  ruby -rpuppet -e 'p
>  Puppet::Type.type(:quagga_service).provider(:parsed)'
>
>

[EMAIL PROTECTED]:~# RUBYLIB=/var/lib/puppet/lib:$RUBYLIB ruby
-rpuppet -rpuppet/provider/quagga_service/debian -e 'puts :yep'
yep
[EMAIL PROTECTED]:~# RUBYLIB=/var/lib/puppet/lib:$RUBYLIB ruby
-rpuppet -e 'p Puppet::Type.type(:quagga_service).provider(:debian)'
Puppet::Type::Quagga_service::ProviderDebian
The whole thing works great under puppetd -t, it's just when puppet is
daemonized it throws this error.
-Thom

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to