We've been doing some work lately to harden the pluginsync functionality
for Puppet 3.x. An issue was brought to my attention by Jeff McCune:
In current versions of puppet, it's possible to configure things like your
vardir and libdir in any section of the config file; potentially, this
means that you can specify a different libdir for all three of ["main",
This causes problems with respect to pluginsync; when you run an agent, it
will sync down plugins / modules / faces from the master into the *agent's*
libdir. Then, when you try to run a face (even the "help" face), your
libdir will be set to the "main" libdir, and thus it won't have the content
that it needs from the previous agent run.
The basic problem here is that all of our various client-side programs
*must* share the same libdir. Thus, it seems that we need to restrict the
ability to set these for individual client programs.
We have a short-term and a long-term solution in mind to resolve this. In
the short term, we will simply disallow libdir and related settings from
appearing in any sections of puppet.conf other than "main" and "master".
(This will still allow the master to have a separate libdir from
client-side programs.) The ticket and pull req for this are here:
Slightly longer term, we are thinking of simply removing support for
"run-mode"-specific configuration sections in the puppet.conf file. We
would only allow three sections: "main" (possibly renamed to "global" or
similar), "master", and "ca". (Obviously you could still specify
environments in there as well, though we probably should move those to a
separate config file in the future.)
This is filed as a ticket here:
Would love to hear any feedback that anyone has on this topic!
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to email@example.com.
To unsubscribe from this group, send email to firstname.lastname@example.org.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.