Brian Pitts
2014-Apr-04 18:37 UTC
[Puppet Users] My dynamic config-file environment broke in 3.5
Hi,
After I upgraded my puppetmaster to 3.5, my clients can no longer find my
modules. I had my modules broken up into three directories
* modules: third-party modules I install via r10k
* lib-modules: library/generic modules I wrote
* app-modules: application/wrapper modules I wrote
I expressed this in puppet.conf with
[master]
environment = production
manifest = $confdir/environments/$environment/manifests/site.pp
modulepath =
$confdir/environments/$environment/modules:$confdir/environments/$environment/lib-modules:$confdir/environments/$environment/app-modules
However, my puppet runs fail with "Could not find class atop"; that
class
is in lib-modules. When I check the modulepath on my master I don't get
what I expect
$ sudo puppet config print modulepath --section master --environment
production
/etc/puppet/environments/production/modules:/etc/puppet/modules:/usr/share/puppet/modules
Based on the documentation I've read [0], I think this is because I named
the directory that I stored my dynamic environments in "environments".
In
3.5 if puppet sees a directory named "environments" it will use
"directory
environments" instead of "config-file environments". I.E. the
precedence is
static config-file environments → directory environments → dynamic (
$environment) config-file environments
This is a surprise, since I did not intentionally set up directory
environments and they don't support my modulepath. To me it seems like this
behavior unncecessarily breaks existing puppet setups. Why isn't the
precedence
static config-file environments → dynamic ($environment) config-file
environments→ directory environments ?
Also, shouldn't a warning about this be added to the release notes?
[0]
http://docs.puppetlabs.com/puppet/latest/reference/environments_classic.html#interaction-with-directory-environments
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/b679f601-9d89-4537-b239-f2c8597faa3c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.