I started out with no environment.conf file, I just added it today as a desperate bid for a work-around. Without environment.conf, it acts exactly as with environment.conf -- no modules found.
On Tuesday, October 28, 2014 2:27:53 PM UTC-4, Tony Thayer wrote: > > 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/e589530a-d3e7-4ea7-ac2d-a5cf174f12a8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
