On Thu, Feb 4, 2010 at 9:08 AM, Matthew Hyclak <[email protected]> wrote: > On Thu, Feb 4, 2010 at 11:49 AM, Nigel Kersten <[email protected]> wrote: >> Unless I'm missing something, we kind of have a fatal flaw with using >> plugins in modules with environments when it comes to making those >> same plugins available to the puppetmaster itself. >> >> If you're deploying a custom type/provider with the plugins in modules >> model, you still need to make these plugins discoverable in the >> puppetmaster libdir. >> >> ie, if I'm deploying: >> <modulepath>/base/lib/puppet/type/foo.rb >> <modulepath>/base/lib/puppet/provider/foo.rb >> >> Then I need to ensure that these plugins are available at: >> $libdir/puppet/{type,provider}/foo.rb >> on the puppetmaster itself. >> >> The problem with this is that it makes it difficult to release >> different versions of the same plugin to different clients, as you >> have to pick one version and one version only of the plugin to be in >> the puppetmaster libdir, and this version may conflict with the >> version you're supplying to clients in terms of valid syntax and >> acceptable parameters. >> >> How are other people dealing with this? >> > > We created a module called plugins and put our code there. For example, we > have: > > modules/plugins/files/facter/hugepagesize.rb > > That gets replicated across environments (and we can have different > hugepagesize.rb files per environment if we need to).
So facter plugins are kind of different, as they're not actually required to be in the puppetmaster libdir. Say this was a type/provider, and you wanted to add a new parameter, but only roll it out to your testing environments. What do you do then? If the version in the puppetmaster libdir doesn't accept that parameter, the manifest compilation will fail for clients who *are* getting a version of the plugin that supports that parameter. > > Matt > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > -- nigel -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
