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.

Reply via email to