Hello all,

I have been searching through previous posts and documentation and I have 
not been able to find out what is happening with my provider...

I have declared a custom provider that depends on a custom feature (in 
fact, in a set) that are not present at the machine but installed during 
the puppet run. The provider is never loaded at the same run as the feature 
is satisfied but on subsequents.

Here is the sample of my provider and feature:

*Feature*

require 'puppet/util/feature'
Puppet.features.add(:json_compare, :libs => ["json-compare"])

*Provider*

Puppet::Type.type(:selenium_node).provide(:json, :parent => 
Puppet::Provider::Selenium_node) do
  desc "Supports JSON as configuration method"
  
  confine :feature => [ :json, :json_compare, :yajl ]
  
  [...]

Whenever I execute the first puppet run the following message is thrown 
when the provider is to be used: 

Error: 
/Stage[main]/Selenium::Modules::Server::Config/Selenium::Modules::Server::Config::Node[auto-bct]/Selenium_node[/opt/selenium/conf/nodes/auto-bct.json]:
 
Provider json is not functional on this host

Doing some traces through the execution I have found that the code is 
executed only once at the Provider loading but not anymore (even though the 
dependency is satisfied later on). May it be due to the fact that is a gem 
dependency and that must be loaded at current ruby execution? There is any 
restriction on using confine and setting that check to be lazy?

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/91a0050d-ed78-40d9-b523-9d17e70c4ac9%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to