Dear Puppet Users community, I would like to report an issue I experience since the first release of Puppet 3.5, and possibly get some input from people who face the same problem (if any).
I run a Puppet environment in which all 48 nodes run CentOS 6.5. I have been using config file-based environments so far without any trouble. When Puppet 3.5.0 was officially released I decided to give give it a try, along with the new Directory Environments feature. I disabled my old-style environment config while making sure my directory tree was correctly set, as described in the "Directory Environments" documentation page<http://docs.puppetlabs.com/puppet/latest/reference/environments.html> . The problem shows up immediately after I restart httpd: Passenger starts spawning more and more processes which all consume 25% of my machine CPU, reaching a load average of 10+ in less than a minute as soon as the first node requests a catalog. This makes the master unusable, it takes between 200 and 300sec to compile any catalog. What I have tried: 1. Switching back from Passenger to WEBrick: same performance issue 2. Disabling the puppet service on all nodes, and triggering *one*single manual Puppet run on a random node: same performance issue 3. Disabling my external node classifier (Foreman): same performance issue 4. Upgrading to Puppet 3.5.1: same performance issue 5. Switching back to config-based environments and re-enabling all nodes: no issue, my master behaves normally and the load-average remains under 0.25 constantly As you might have noticed, this is definitely not a sizing issue. My master has 2GB of RAM and 2 allocated vCPU, but the Puppet master rack process starts consuming all resources as soon as I re-enable Directory Environments. When I want to use Directory Environments, the only thing I do is commenting the [development] and [production] sections in my puppet.conf file, and adding this to the [main] section: environmentpath = $confdir/environments Let me describe my configuration: *-----------------puppet.conf--------------* [main] logdir = /var/log/puppet. rundir = /var/run/puppet ssldir = $vardir/ssl privatekeydir = $ssldir/private_keys { group = service } hostprivkey = $privatekeydir/$certname.pem { mode = 640 } autosign = $confdir/autosign.conf { mode = 664 } [master] autosign = $confdir/autosign.conf { mode = 664 } reports = foreman external_nodes = /etc/puppet/node.rb node_terminus = exec ca = true ssldir = /var/lib/puppet/ssl storeconfigs = true storeconfigs_backend = puppetdb [development] modulepath = /etc/puppet/environments/development/modules:/usr/share/puppet/modules manifest = /etc/puppet/environments/development/manifests/site.pp config_version = [production] modulepath = /etc/puppet/environments/production/modules:/usr/share/puppet/modules manifest = /etc/puppet/environments/production/manifests/site.pp config_version = *--------------------------------------------------* *--------------directory tree--------------*/etc/puppet/environments/ |-- development | |-- manifests | | `-- site.pp | `-- modules | |-- activemq | |-- apache | |-- apt | |-- concat | |-- datacat | |-- environment | |-- epel | |-- erlang | |-- firewall | |-- java | |-- java_ks | |-- mcollective | |-- postfix | |-- profiles | |-- rabbitmq | |-- repos | |-- stdlib | `-- tomcat `-- production |-- manifests | `-- site.pp `-- modules |-- activemq |-- apache |-- apt |-- concat |-- datacat |-- environment |-- epel |-- erlang |-- firewall |-- inifile |-- java |-- java_ks |-- mcollective |-- mysql |-- ntp |-- postfix |-- postgresql |-- profiles |-- puppetdb |-- rabbitmq |-- repos |-- stdlib |-- tomcat `-- vsftpd *--------------------------------------------------* Can anybody reproduce this it on any platform? Thank you in advance for your help! Toni -- 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/8036c0fa-57ee-401b-b9d7-03c43dda0fd2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
