Problem starting Apache/Passenger/Puppetmaster

170 views
Skip to first unread message

Matt Shields

unread,
Apr 10, 2014, 11:14:10 AM4/10/14
to puppet...@googlegroups.com
I'm not sure what happened but my Passenger virtual host for the puppet master has stopped working last week.  It's running on Amazon Linux (CentOS)  I'm getting the following error.

Error page:
exit (SystemExit)
  /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:493:in `exit'
  /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:493:in `exit_on_fail'
  /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:370:in `run'
  /usr/lib/ruby/site_ruby/1.8/puppet/context.rb:51:in `override'
  /usr/lib/ruby/site_ruby/1.8/puppet.rb:224:in `override'
  /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:362:in `run'
  /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:137:in `run'
  /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:91:in `execute'
  /usr/lib/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
  /usr/lib/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
  config.ru:1:in `new'


Here's some other info that might be helpful


[root@puppet ~]# rpm -qa | grep puppet | sort
puppet-3.5.0-1.el6.noarch
puppet-dashboard-1.2.23-1.el6.noarch
puppetdb-1.6.3-1.el6.noarch
puppetdb-terminus-1.6.3-1.el6.noarch
puppetlabs-release-6-10.noarch
puppet-server-3.5.0-1.el6.noarch
rubygem-puppet-lint-0.3.2-1.el6.noarch
rubygem-puppet-lint-doc-0.3.2-1.el6.noarch

[root@puppet conf.d]# gem list

*** LOCAL GEMS ***

addressable (2.3.6, 2.3.5)
arr-pm (0.0.9, 0.0.8)
backports (3.6.0, 3.3.5)
builder (3.2.2)
cabin (0.6.1)
cgi_multipart_eof_fix (2.5.0)
childprocess (0.5.2, 0.3.9)
clamp (0.6.3)
daemon_controller (1.2.0, 1.1.7)
daemons (1.0.10)
facter (2.0.1, 1.7.5)
fastthread (1.0.7)
ffi (1.9.3, 1.0.9)
fpm (1.0.2, 0.4.42)
ftw (0.0.39, 0.0.37)
gem_plugin (0.2.3)
hiera (1.3.2, 1.3.0)
http_parser.rb (0.6.0, 0.5.3)
json (1.8.1, 1.7.7, 1.5.5)
json_pure (1.8.1)
mongrel (1.1.5)
net-ldap (0.6.0, 0.2.2)
net-ping (1.5.3)
passenger (4.0.41)
peach (0.5.1)
puppet (3.4.3, 3.3.2)
puppet-lint (0.3.2)
rack (1.5.2)
rake (10.2.2, 10.1.0, 10.0.4)
rdoc (4.1.1, 4.0.1)
rgen (0.6.6)
rubygems-update (2.2.2)
stomp (1.3.2, 1.2.10)
xml-simple (1.1.3)


[root@puppet conf.d]# cat 00_passenger.conf 
# RHEL/CentOS:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.41
PassengerDefaultRuby /usr/bin/ruby1.8
</IfModule>

# And the passenger performance tuning settings:
PassengerHighPerformance On
#PassengerUseGlobalQueue On
# Set this to about 1.5 times the number of CPU cores in your master:
PassengerMaxPoolSize 6
# Recycle master processes after they service 1000 requests
PassengerMaxRequests 1000
# Stop processes if they sit idle for 10 minutes
PassengerPoolIdleTime 600

#RailsAutoDetect On


[root@puppet conf.d]# cat puppetmaster.conf 
 
# And the passenger performance tuning settings:
#PassengerHighPerformance On
#PassengerUseGlobalQueue On
# Set this to about 1.5 times the number of CPU cores in your master:
#PassengerMaxPoolSize 6
# Recycle master processes after they service 1000 requests
#PassengerMaxRequests 1000
# Stop processes if they sit idle for 10 minutes
#PassengerPoolIdleTime 600
 
Listen 8140
<VirtualHost *:8140>
    SSLEngine On
 
    # Only allow high security cryptography. Alter if needed for compatibility.
    SSLProtocol             All -SSLv2
    SSLCipherSuite          HIGH:!ADH:RC4+RSA:-MEDIUM:-LOW:-EXP
    SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet.pem
    SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.pem
    SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
    SSLCACertificateFile    /var/lib/puppet/ssl/ca/ca_crt.pem
    SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem
    SSLVerifyClient         optional
    SSLVerifyDepth          1
    SSLOptions              +StdEnvVars +ExportCertData
 
    # These request headers are used to pass the client certificate
    # authentication information on to the puppet master process
    RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
    RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
    RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
 
#    RackAutoDetect On
#    RackBaseURI /
    PassengerBaseURI /
    PassengerUser puppet
    PassengerGroup puppet
    PassengerLogLevel 3

    DocumentRoot /usr/share/puppet/rack/puppetmasterd/public/
    PassengerAppRoot /usr/share/puppet/rack/puppetmasterd
    <Directory /usr/share/puppet/rack/puppetmasterd/>
        Options None
        AllowOverride None
        Order Allow,Deny
        Allow from All
    </Directory>

  ErrorLog /var/log/httpd/puppetmaster_error.log
  CustomLog /var/log/httpd/puppetmaster_access.log combined

</VirtualHost>

[root@puppet ~]# cat /usr/share/puppet/rack/puppetmasterd/config.ru
# a config.ru, for use with every rack-compatible webserver.
# SSL needs to be handled outside this, though.

# if puppet is not in your RUBYLIB:
# $LOAD_PATH.unshift('/opt/puppet/lib')

$0 = "master"

# if you want debugging:
# ARGV << "--debug"

ARGV << "--rack"

# Rack applications typically don't start as root.  Set --confdir and --vardir
# to prevent reading configuration from ~puppet/.puppet/puppet.conf and writing
# to ~puppet/.puppet
ARGV << "--confdir" << "/etc/puppet"
ARGV << "--vardir"  << "/var/lib/puppet"

# NOTE: it's unfortunate that we have to use the "CommandLine" class
#  here to launch the app, but it contains some initialization logic
#  (such as triggering the parsing of the config file) that is very
#  important.  We should do something less nasty here when we've
#  gotten our API and settings initialization logic cleaned up.
#
# Also note that the "$0 = master" line up near the top here is
#  the magic that allows the CommandLine class to know that it's
#  supposed to be running master.
#
# --cprice 2012-05-22

require 'puppet/util/command_line'
# we're usually running inside a Rack::Builder.new {} block,
# therefore we need to call run *here*.
run Puppet::Util::CommandLine.new.execute


Matt
Reply all
Reply to author
Forward
0 new messages