On 06/30/2012 07:30 AM, Luke Baker wrote:
> I've created a couple of custom providers and types, both of which
> rely on a particular ruby gem in order to function. How should I go
> about ensuring the gem dependency on the puppet clients before puppet
> syncs the plugins (the broken 'require' in the provider will cause
> puppet to exit during a run)?

Tough problem. AFAIK, ordinarily puppet does the pluginsync before
anything else, always, so as to make your providers available before the
catalog is run. Therefor, your dependencies cannot easily be solved from
within the catalog.

Look at how native providers deal with this. E.g., there are user
providers for various platforms that will just note that they cannot run
in the given environment, without making a fuss about it. What I get
among others:

debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl
does not exist

Of course, I'm not really sure what puppet does with your catalog if
there are no working providers for some of the types you use, but I'd
expect it to fail the respective resources only, not the whole run.

HTH,
Felix

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to