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.

Reply via email to