Luke Baker
2012-Jun-30 05:30 UTC
[Puppet Users] Custom provider/types and adding to puppet forge
*Note, I''m very green when it comes to ruby development.. 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)? On the same line, I would like to push this module to the puppet forge. Is there a way to specify a ruby gem or library dependency (outside of other puppet modules) when using the puppet module tool? -- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Felix Frank
2012-Jul-02 14:11 UTC
Re: [Puppet Users] Custom provider/types and adding to puppet forge
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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Possibly Parallel Threads
- Solaris 10 Client "Default Provider for User" Woes Again
- Adding a parameter to a custom Puppet type/provider
- client not getting updates no error message
- Puppet Agent VS User
- Error 400 on SERVER: Could not write /var/lib/puppet/ssl/ca/requests/agent1.pem to csrdir: undefined method `exists?' for nil:NilClass