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.