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 puppet-users+unsubscr...@googlegroups.com. 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.