John, Sorry, I should have been more thorough -- this is Puppet 3.7 master, running as root (so it has full access to everything).
Yes, 'puppet module --modulepath=/etc/puppet/environments/production/modules list' also works -- but I was under impression that supplying the environmentpath value in puppet.conf, in the [main] section, was sufficient. I can set the module.path explicitly in each environment.conf file, but I am hoping to avoid that. Note BTW that calling 'puppet module --confdir=/etc/puppet list' does NOT work: is results in the same error as in the OP -- Puppet simply finds no modules. My manifest directory is populated with a working manifest: this is the environment I simply copied from our working Puppet 3.4 master installation using explicitly configured environments. Both environments/production/manifests and environments/production/modules directories are properly populated (and yes, I need to use per-environment manifests, not the global one). I know Puppet reads my environments directory, because supplying a non-existent environment causes it to throw an error. It simply doesn't read any modules or manifests from the environments unless I specify their paths *explicitly*. Thanks for your help! On Tuesday, October 28, 2014 10:54:35 AM UTC-4, jcbollinger wrote: > > > > On Monday, October 27, 2014 4:43:07 PM UTC-5, Victor Danilchenko wrote: >> >> Hi all, >> >> I am running a puppetmaster setup on CentOS. We have out production >> environment working fine. However, I am trying to migrate from puppet 3.4, >> and from config environments to directory environments. I got my >> environments tree all set up in the puppet master, but when I activate my >> directory environments, puppetmaster suddently can't see any modules or >> manifests -- it runs, but returns empty catalog for the agent, and 'puppet >> modules list' says I have no modules installed: >> >> # puppet module list >> /usr/share/puppet/modules (no modules installed) >> >> > > This is with which version of Puppet? Running as what user? > > > >> None of the other global config files contain anything that references >> environments. My environment directory is set up correctly (it works on our >> production puppetmaster), and it works when I point the puppetmaster at it >> *explicitly*: >> >> # puppet module >> --confdir=/etc/puppet/environments/production/modules:/usr/share/puppet/modules >> >> list >> /etc/puppet/environments/production/modules >> >> ├── apache (???) >> ├── awstats (???) >> etc. >> >> > > That command looks wrong. Did you mean to type "--modulepath=[...]"? > Because it looks like a module path is what you have given, and having > given an explicit modulepath I would certainly expect the tool to report > the modules it finds in that path. It appears that the correct confdir for > you is /etc/puppet. If you run puppet as a normal user, however, then (by > default) it consults different configuration files than if you run it as > root. As a normal user, you probably *do* need to specify the correct > config dir: > > > puppet module --confdir=/etc/puppet list > > > [...] > > > Can someone see what I am doing wrong? >> > > > Your config file looks fine to me, so probably you've run into an issue > with the contents or layout of your environment directories. In > particular, if you want puppet to consult /etc/puppet/manifests as the main > manifest directory for nodes in a given environment, then that > environment's directory must not have its own 'manifests' subdirectory. > The behavior you describe could be explained by your environment > directories having empty 'manifests' subdirectories. > > > John > > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/75a2ec79-22d5-42f1-ad0e-d98c7e1b0d22%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
