Hi All
First up I have puppet (0.25.1), ruby (1.8.7p174), facter (1.5.7) on RHEl 5.1
all in non standard locations - but can get puppetmasterd running with WEBrick
puppet@linux% echo $RUBYLIB
/apps/puppet/puppet/lib:/apps/puppet/facter/lib
puppet@linux% echo $PATH
/apps/puppet/ruby/bin:/apps/puppet/puppet/bin:/apps/puppet/facter/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/bin:/sbin
puppet@linux% /apps/puppet/puppet/sbin/puppetmasterd --config
/tmp/puppetmasterd.genconfig --no-daemonize --verbose
notice: Starting Puppet server version 0.25.1
However, trying to move to passenger (2.2.2), it rejects my option of an alternate
config file. I am pretty sure I am missing a path definition, but for the life
of me can't work it out. (configuration details at end of post)
root@linux# tail -f /etc/httpd/logs/error_log
[Fri Nov 20 03:54:27 2009] [notice] mod_python: Creating 4 session mutexes
based on 256 max processes and 0 max threads.
[Fri Nov 20 03:54:27 2009] [notice] Apache/2.2.3 (Red Hat) configured --
resuming normal operations
invalid option: --config /tmp/puppetmasterd.genconfig
Try 'puppetmasterd --help'
[ pid=1781 file=ext/common/ApplicationPoolServerExecutable.cpp:307
time=2009-11-20 03:54:46.775 ]:
Client 0x34375e0: SpawnException occured (with error page)
If I remove the --config option from config.ru, puppetmaster complains (quite
rightly /etc/puppet & /var/puppet are missing, because I have set them
somewhere else). If I add other options like "--vardir=/data/puppet/var
--confdir=/data/puppet/etc", I get the same sort of error
Any pointers in debugging Passenger or Puppet at this level would be appreciated
Thanks
John
puppet@linux% ls -l /data/puppet/etc/rack/config.ru
-rw-r--r-- 1 puppet _puppet 833 Nov 20 04:15 /data/puppet/etc/rack/config.ru
config.ru:
$:.unshift('/apps/puppet/puppet/lib')
$:.unshift('/apps/puppet/facter/lib')
$0 = "puppetmasterd"
require 'puppet'
ARGV << "--debug"
ARGV << "--verbose"
ARGV << "--rack"
ARGV << "--config /tmp/puppetmasterd.genconfig"
require 'puppet/application/puppetmasterd'
run Puppet::Application[:puppetmasterd].run
(I've also tried commenting out the "require puppet")
puppet@linux% lynx https://puppet-esx-rmc.domain.com:8140/
Application root:
/data/puppet/etc/rack
Backtrace:
# File Line Location
0 /apps/puppet/puppet/lib/puppet/application.rb 266 in `exit'
1 /apps/puppet/puppet/lib/puppet/application.rb 266 in
`parse_options'
2 /apps/puppet/puppet/lib/puppet/application.rb 214 in `run'
3 /apps/puppet/puppet/lib/puppet/application.rb 306 in
`exit_on_fail'
4 /apps/puppet/puppet/lib/puppet/application.rb 214 in `run'
5 config.ru 23
6
/apps/puppet/ruby-1.8.7-p174-x86_64/lib/ruby/gems/1.8/gems/passenger-2.2.2/vendor/rack-1.0.0-git/lib/rack/builder.rb
29 in `instance_eval'
7
/apps/puppet/ruby-1.8.7-p174-x86_64/lib/ruby/gems/1.8/gems/passenger-2.2.2/vendor/rack-1.0.0-git/lib/rack/builder.rb
29 in `initialize'
8 config.ru 1 in `new'
9 config.ru 1
puppet@linux% gem list
*** LOCAL GEMS ***
fastthread (1.0.7)
passenger (2.2.2)
rack (1.0.1)
rake (0.8.7)
root@linux# cat /etc/httpd/conf.d/puppetmasterd.conf
# you probably want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
RackAutoDetect Off
RailsAutoDetect Off
PassengerLogLevel 3
Listen 8140
<VirtualHost *:8140>
ServerName puppet-esx-rmc.domain.com
LoadModule passenger_module
/apps/puppet/ruby-1.8.7-p174-x86_64/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot
/apps/puppet/ruby-1.8.7-p174-x86_64/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby
/apps/puppet/ruby-1.8.7-p174-x86_64/bin/ruby
SSLEngine on
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite
ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
SSLCertificateFile
/data/puppet/etc/ssl/certs/puppet-esx-rmc.domain.com.pem
SSLCertificateKeyFile
/data/puppet/etc/ssl/private_keys/puppet-esx-rmc.domain.com.pem
SSLCertificateChainFile
/data/puppet/etc/ssl/ca/ca_crt.pem
SSLCACertificateFile /data/puppet/etc/ssl/ca/ca_crt.pem
# If Apache complains about invalid
signatures on the CRL, you can try disabling
# CRL checking by commenting the
next line, but this is not recommended.
SSLCARevocationFile
/data/puppet/etc/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars
DocumentRoot
/data/puppet/etc/rack/public/
RackBaseURI /
<Directory
/data/puppet/etc/rack/>
Options None
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Sorry for misreading the email earlier, what I'm actually doing is:
ARGV << "--config" << "/etc/puppet/puppetmasterd.conf"