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/19f5d4c1-c925-4457-ba8d-f3d75d53f203%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to