Nigel Kersten wrote:

On Tue, Mar 30, 2010 at 7:49 AM, Thomas Bellman <bell...@nsc.liu.se> wrote:

Indeed, they don't.  You cannot have custom types or custom
functions per environment.  All environments will share the same
set of plugins (except for facts).

That's not actually quite true as I understand it.

You can indeed serve different sets of plugins to different
environments for pluginsync, however the server needs to "know" about
the existence of all these plugins in it's own libdir.

You might be able to have different custom *providers* (for either
custom types or for standard types), for each environment.  But
anything that executes on the puppet master, like parameter validation,
or the existence of the custom type, is always the same for all
environments.  But I haven't actually tried that myself (the custom
types I have written doesn't make any sense for to have multiple
providers).  I also seem to remember seeing a thread in puppet-dev
a couple of days ago where they said Puppet had some bug that pulled
in the providers on the master even where it shouldn't have needed to.

And custom functions execute entirely on the master, so those cannot
be per environment at all.  Puppetd will pull them down to itself, but
they won't be of any use to it, so I don't understand why it does so.

I think it is at least a good first approximation to say that custom
types and custom functions cannot be per environment.  At least then
you will not tear out your hair trying to understand what is happening
when you get strange results. :-)


        /Bellman

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-us...@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