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. Help? Thanks, -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 puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
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''? -- I love deadlines. I like the whooshing sound they make as they fly by. --Douglas Adams --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
On 11/12/08, Luke Kanies <luke@madstop.com> 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. Cheers, -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 puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
On Nov 13, 2008, at 11:42 AM, Thom May wrote:> > On 11/12/08, Luke Kanies <luke@madstop.com> 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)'' -- Ninety-eight percent of the adults in this country are decent, hard-working, honest Americans. It''s the other lousy two percent that get all the publicity. But then--we elected them. --Lily Tomlin --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
On 11/13/08, Luke Kanies <luke@madstop.com> wrote:> > On Nov 13, 2008, at 11:42 AM, Thom May wrote: > > > > > On 11/12/08, Luke Kanies <luke@madstop.com> 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)'' > >root@dca-static-1:~# RUBYLIB=/var/lib/puppet/lib:$RUBYLIB ruby -rpuppet -rpuppet/provider/quagga_service/debian -e ''puts :yep'' yep root@dca-static-1:~# 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 puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---