I was able to resolve this issue by creating appropriate feature/confines with my provider.
Thanks all for the help! -Stopp On Tuesday, January 3, 2017 at 11:44:01 PM UTC-6, [email protected] wrote: > > I refactored my work to follow the pattern/design in the Zabbix module, as > suggested. However i still continue to get this error, *but only on the > first run:* > > Could not run: cannot load such file -- > > Subsequent runs work, as it appears the issue is now that the Ruby > gems/packages installed are not auto-loaded back into the Puppet Agent's > cache to identify that they are now available. So the *require* declarations > still fail to find the gem. > > Is it possible to tell the agent during a run that it needs to reload the > gem in-memory cache? (Is this a thing?) > > Any thoughts? > > For Zabbix team: How does the Zabbix module's acceptance test manage this? > > Thanks again! > > -Stopp > > On Saturday, December 24, 2016 at 9:06:55 PM UTC-6, [email protected] > wrote: >> >> I've also tried to add the confines logic as the PR says, however i still >> get the missing load file. Here's the project i've been trying to update: >> >> https://github.com/bstopp/puppet-aem/tree/feature/package-support >> >> The provider is here: >> >> >> https://github.com/bstopp/puppet-aem/blob/feature/package-support/lib/puppet/provider/aem_crx_package/ruby.rb >> >> -Stopp >> >> On Saturday, December 24, 2016 at 8:30:11 PM UTC-6, [email protected] >> wrote: >>> >>> I see the pattern. Is this the "Puppet way"? I saw/found this PR[1] >>> which shows a module which requires a gem; but when i try this i still get >>> the error: >>> >>> Could not autoload puppet/provider/aem_crx_package/ruby: cannot load >>> such file -- xmlsmiple >>> >>> >>> I've tried the following: >>> >>> 1) Installing the gem with puppetserver gem install and restarting the >>> master >>> 2) Installing it using the gem command in the puppserver bin directory >>> directly (which does not install it to the same place as #1) >>> 3) Specifying package (type gem) on the *master* like the example in >>> the PR link >>> 4) Specifying package (type gem) on the *agent* like the example in the >>> PR link >>> >>> I get the impression that the pattern in the referenced project is >>> similar to #3 and/or #4 above, but it still doesn't work. >>> >>> Still looking for help and thoughts/suggestions. >>> >>> [1] https://github.com/puppetlabs/puppet/pull/4220 >>> >>> -Stopp >>> >>> >>> On Saturday, December 24, 2016 at 8:14:16 PM UTC-6, Rob Nelson wrote: >>>> >>>> Zabbix uses the zabbixapi gem, you can take a look at how it implements >>>> it to be sure it's present before the type and provider is used. There's >>>> no >>>> simple tutorial about how that's laid out but you can see the references >>>> at >>>> https://github.com/voxpupuli/puppet-zabbix/search?utf8=%E2%9C%93&q=zabbixapi >>>> >>>> On Sat, Dec 24, 2016 at 4:41 PM <[email protected]> wrote: >>>> >>>>> Hello All, >>>>> >>>>> I'm updating a module that will require a ruby gem (e.g. xml-simple) >>>>> for one of the custom providers. How does Puppet make sure that the gem >>>>> is >>>>> available and installed when the module is installed? Does a *puppet >>>>> module install* also install any dependent gems? How does it know >>>>> which gems are needed to install? To where does Puppet install gems? >>>>> >>>>> Or is there something else that consumers of my module will need to do >>>>> to ensure that the gems are available before they try to use the module's >>>>> resources? >>>>> >>>>> I tried searching both this group and Puppet Users but didn't find >>>>> much. May be the key-words aren't right. >>>>> >>>>> Anyway, any assistance would be appreciated. >>>>> >>>>> -Stopp >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Puppet Developers" group. >>>>> >>>>> >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> >>>>> >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/puppet-dev/67b2a7a4-4551-4ec8-9f3e-5e5d3383b425%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/puppet-dev/67b2a7a4-4551-4ec8-9f3e-5e5d3383b425%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> >>>>> -- >>>> Rob Nelson >>>> >>> -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/6d5e3678-a949-49eb-82cf-d031a1847c90%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
