Issue #3173 has been updated by Markus Roberts. Status changed from Investigating to Accepted Assignee deleted (Markus Roberts) Target version changed from 0.25.6 to queued
There have been a number tickets related to these issues; some are still open and this specific issue may have been fixed in 2.6.x (in which case this ticket should be closed) but, if it can still be reproduced the time this ticket gets to the head of the queue, it should be fixed in 2.7. ---------------------------------------- Bug #3173: Puppetmasterd cannot find classes after restart http://projects.puppetlabs.com/issues/3173 Author: W. Andrew Loe III Status: Accepted Priority: Normal Assignee: Category: server Target version: queued Affected version: 0.25.4 Keywords: module modulepath settings cache Branch: Running puppetmasterd 0.25.3 as a Rack application behind nginx+Passenger 2.2.8. If I touch tmp/restart.txt which causes the master to be restarted and then immediately initiate a run by a client, the classes are not found. Restarting the client again works. This hurts because I typically only have 1 or 2 puppetmasterd processes running, but sometimes I force a restart 20+ machines which causes Passenger to spawn 4-5 additional puppetmasterd processes which promptly fail. This may or may not be the same as #2294 which was punted after no repro case could be created. puppet.conf (the same on both client and server machines): <pre> [main] # Include some of our local stuff path = /usr/local/bin:/usr/bin:/sbin:/bin:/usr/sbin # The puppet configuration directory. confdir = /etc/puppet # Where Puppet stores dynamic and growing data. # The default value is '/var/puppet'. vardir = /var/lib/puppet # The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Use the logdir not syslog logdest = /var/log/puppet/puppet.log # 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 # Potential Environments. environments = skunkworks,master,staging,production # Use iClassify to describe nodes node_terminus = exec external_nodes = "/private/path" [puppetd] # Default environment for the node. environment = master # The file in which puppetd stores a list of the classes # associated with the retrieved configuratiion. Can be loaded in # the separate ``puppet`` executable using the ``--loadclasses`` # option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfig report = true runinterval = 3600 server = ops.onehub.com preferred_serialization_format = yaml [puppetmasterd] reports = tagmail reportfrom = [email protected] smtpserver = localhost storeconfigs = false ssl_client_verify_header = HTTP_X_CLIENT_VERIFY ssl_client_header = HTTP_X_SSL_SUBJECT # Environments pull in different modules. [skunkworks] manifest = $vardir/modules/skunkworks/current/manifests/site.pp modulepath = $vardir/modules/skunkworks/current/modules [master] manifest = $vardir/modules/master/current/manifests/site.pp modulepath = $vardir/modules/master/current/modules [staging] manifest = $vardir/modules/staging/current/manifests/site.pp modulepath = $vardir/modules/staging/current/modules [production] manifest = $vardir/modules/production/current/manifests/site.pp modulepath = $vardir/modules/production/current/modules </pre> Log output from puppetmasterd: <pre> Feb 10 21:07:46 ops puppetmasterd[8471]: Starting Puppet server version 0.25.3 Feb 10 21:07:47 ops puppetmasterd[8471]: Could not find classes monit, cron, common, yum, root, onehub, sshd, hosts, motd, puppet, ntpd, snmpd, git-core, sudo, splunk::forwarder, postfix, perl, ruby-enterprise, icagent in namespaces base at /var/lib/puppet/modules/production/current/manifests/templates.pp:2 on node domu-12-31-39-01-8d-62.compute-1.internal </pre> Log output from puppetd: <pre> Feb 10 21:07:44 domU-12-31-39-01-8D-62 puppetd[22375]: Starting Puppet client version 0.25.3 Feb 10 21:07:47 domU-12-31-39-01-8D-62 puppetd[22375]: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find classes monit, cron, common, yum, root, onehub, sshd, hosts, motd, puppet, ntpd, snmpd, git-core, sudo, splunk::forwarder, postfix, perl, ruby-enterprise, icagent in namespaces base at /var/lib/puppet/modules/production/current/manifests/templates.pp:2 on node domu-12-31-39-01-8d-62.compute-1.internal Feb 10 21:07:47 domU-12-31-39-01-8D-62 puppetd[22375]: Using cached catalog </pre> -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
