Ok, I use TheForeman, and recently updated from puppet 3.4.3 to 3.7.1. I also updated TheForeman to 1.6.0. I have had config file environments. One wrinkle was I had modules as $confdir/environments/dev - and all the modules are under here, no sub modules dir. I tried to migrate to directory environments by moving my modules to $confdir/environments/dev/modules for instance, and removing the config definitions in puppet.conf and adding environmentpath=$confdir/environments to puppet.conf.I restarted apache, but my clients could no longer find their modules. I've poured over the docs, but can't see what I did wrong. Is there a doc with step by step example of converting the type of environments to be puppet4 compatible?
Because of TheForeman, I don't have anything in site.pp... But maybe I need blank site.pp in each environment? Can Puppet work without a default manifest? The docs imply it should process a blank one if one doesn't exist... Do I have to have an environment.conf that specifies an empty site.pp? It is really not clear from the docs.
Ok, so some more reading, and ignoring what seemed to be wrong one liners in the documentation, I found out I needed to have the setup like this:
environment/modules
environment/manifests
environment/manifests/site.pp <- which I did need some settings in, namely Package { allow_virtual => false, } (or true) and a path definition so all my short paths could work. I may in fact want to edit this to split path for windows and linux, but for now it seems to work with that structure. 3.7.1 does not, in fact, seem to work with a non-existant site.pp inside the directory environments...