Issue #17747 has been updated by Josh Cooper.

Status changed from Needs Decision to Duplicate

Mohit, I'm going to mark this as a duplicate of #14822.

Also, you should be able to shorten the provider to just:

<pre>
Puppet::Type.type(:my_type).provide(:foo) do
  confine :feature => :jsonlib
end
</pre>

The line `require 'json' if Puppet.features.json?` is unnecessary. There's some 
magic here, but the idea is that the `confine :feature => :jsonlib` results in 
a call to `Puppet.features.jsonlib?`, which calls `require 'json'` 
automagically for you.
----------------------------------------
Bug #17747: Inability to use gems as dependencies in custom providers & types
https://projects.puppetlabs.com/issues/17747#change-77737

Author: Mohit Chawla
Status: Duplicate
Priority: Normal
Assignee: eric sorenson
Category: plug-ins
Target version: 3.x
Affected Puppet version: 2.7.19
Keywords: code_loading
Branch: 


I am using a custom provider that uses an external gem, for eg., json. I am 
seeing this behavior:

1) In the first puppet run - errors would be thrown like :
"err: Could not load downloaded file 
/var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such file to 
load -- json".
However, the catalog compiles and gets executed successfully eventually in the 
same run, as I provide the json lib from my module. 

2) If however, there was some other error in the first run, say a syntax error 
somewhere, and then you try a successive puppet run, it simply doesn't retrieve 
the catalog,  with an error like: 
"Could not autoload custom: Could not autoload 
/var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such file to 
load -- json"



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

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

Reply via email to