What happens if you take the production/environment.conf file out of the 
equation? It will override any default values specified by puppet.conf. I 
have left it out of my configuration entirely.

On Tuesday, October 28, 2014 10:46:57 AM UTC-7, Victor Danilchenko wrote:
>
> Tony,
>
> When I explicitly specify --environment=production, Puppet breaks the 
> same way as in the OP -- i.e. it simply fails to find the modules (and 
> manifests). If I specify a non-existent environment, it throws the normal 
> 'could 
> not find directory environment' error.
>
> So clearly Puppet reads my environments -- it just doesn't read anything 
> *within 
> *them, modules or manifests. It also doesn't read my 
> environments/production/environment.conf file, which I just created:
>
> [root@kmadmin102 puppet]# ls -l /etc/puppet/environments/production/
> total 12
> -rw-r--r--  1 root root   57 Oct 28 13:39 environment.conf
> drwxr-xr-x  3 root root 4096 Oct 24 15:20 manifests
> drwxr-xr-x 32 root root 4096 Oct 22 14:51 modules
>
> [root@kmadmin102 puppet]# cat 
> /etc/puppet/environments/production/environment.conf
> modulepath = /etc/puppet/environments/production/modules
>
> [root@kmadmin102 puppet]# ls -m -w 80 
> /etc/puppet/environments/production/modules
> apache, apt, awstats, concat, elasticsearch, firewall, gcc, git, inifile, 
> java,
> km, logrotate, memcached, module_data, mysql, nodejs, perl, php, 
> postgresql,
> puppet-puppetdbquery, rclocal, redis, repoforge, rsync, src, stdlib, sudo,
> sysctl, wget, xinetd
>
> [root@kmadmin102 puppet]# puppet module list --environment=production
> /usr/share/puppet/modules (no modules installed)
>
> Thanks for the pointer about the default manifest, I didn't realize that 
> it would actually override the environment ones, I assumed it worked 
> additively, like modulepath.
>
> I have disabled the default manifest, but my puppet is still not finding 
> the per-environment modules...
>
>
>
> On Tuesday, October 28, 2014 1:08:11 PM UTC-4, Tony Thayer wrote:
>>
>> What happens when you run
>> puppet module list --environment=production
>> ?
>> Your configuration doesn't define which environment the puppet agent 
>> lives in, so it _should_default to production but I've been running into 
>> this kind of thing myself. This directory structure is working for me:
>> /etc/puppet
>> - /modules (root modules, stuff downloaded from puppet forge)
>> - /manifests (Empty on purpose. Directory environments define my nodes 
>> now.)
>> - /environments
>>   - /test01
>>   - /test02
>>     - /manifests
>>       - site.pp
>>     - /modules
>>       - /allmyenvironment-specific-modules
>>     - /hieradata
>>   - /production
>>     - /manifests
>>       - site.pp
>>     - /modules
>>       - /allmyenvironment-specific-modules
>>     - /hieradata
>>
>> Specifying your default_manifest will override your directory 
>> environments as per the documentation. My puppet.conf has some lines like 
>> this in it to remind me:
>>
>> [main]
>>     # The Puppet log directory.
>>     # The default value is '$vardir/log'.
>>     logdir = /var/log/puppet
>>
>>
>>     # Where Puppet PID files are kept.
>>     # The default value is '$vardir/run'.
>>     rundir = /var/run/puppet
>>
>>
>>     # Where SSL certificates are kept.
>>     # The default value is '$confdir/ssl'.
>>     ssldir = $vardir/ssl
>>     environmentpath = $confdir/environments
>>     basemodulepath = $confdir/modules
>>     # default manifest prevents the directory environment from taking
>>     # default_manifest = /etc/puppet/manifests
>>     # Disabling to enable environment-specific site.pp 10/20/2014 tthayer
>>     # disable_per_environment_manifest = true
>>
>> - Tony
>>
>> On Monday, October 27, 2014 2:43:07 PM UTC-7, 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)
>>>
>>> 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.
>>>
>>> Here's my main config file, stripped of comments:
>>>
>>> [main]
>>>     certname=kmadmin102
>>>     dns_alt_names=kmadmin102.vistaprint.net,test-kmpuppet,test-kmpuppet.
>>> vistaprint.net,kmadmin102.vistaprint.net
>>>     logdir = /var/log/puppet/
>>>     rundir = /var/run/puppet
>>>     ssldir = $vardir/ssl
>>>     pluginsync = true
>>>     certificate_revocation = false
>>>     report = false
>>>     configtimeout = 4m
>>>     *environmentpath **= $confdir/**environments*
>>>     default_manifest = $confdir/manifests
>>>     basemodulepath = $confdir/modules:/usr/share/puppet/modules
>>> [agent]
>>>     classfile = $vardir/classes.txt
>>>     localconfig = $vardir/localconfig
>>> [master]
>>>
>>> Can someone see what I am doing wrong?
>>>
>>> I also have PuppetDB installed, but that shouldn't affect 'puppet 
>>> modules list' command. Puppet fails the same way with or without 
>>> PuppetDB.
>>>
>>

-- 
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/39aaabef-d1d0-4668-8a3a-a3d7b2e9e8d7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to