Issue #17747 has been updated by Mohit Chawla.
Hello, with the above suggestion & help from Dominic on #puppet, I have got
this working as follows:
1. Distribute the feature using pluginsync by placing it under
`lib/puppet/feature/jsonlib.rb`, for example, which looks like:
`Puppet.features.add(:jsonlib, :libs => ["json"])`
2. In the provider:
<pre>
require 'json' if Puppet.features.json?
Puppet::Type.type(:my_type).provide(:foo) do
confine :feature => :jsonlib
end
<pre>
Let me know if I can provide any more information.
----------------------------------------
Bug #17747: Inability to use gems as dependencies in custom providers & types
https://projects.puppetlabs.com/issues/17747#change-77352
Author: Mohit Chawla
Status: Needs Decision
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.