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.
