debug: //bootstrap::install_passenger_apache_module/Exec[install-passenger-apache-module]: Changing returns
debug: //bootstrap::install_passenger_apache_module/Exec[install-passenger-apache-module]: 1 change(s)
debug: //bootstrap::install_passenger_apache_module/Exec[install-passenger-apache-module]: Executing '/usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/bin/passenger-install-apache2-module --auto'
debug: Executing '/usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/bin/passenger-install-apache2-module --auto'
err: //bootstrap::install_passenger_apache_module/Exec[install-passenger-apache-module]/returns: change from notrun to 0 failed: /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/bin/passenger-install-apache2-module --auto returned 1 instead of one of [0] at /tmp/setup_puppetmaster.pp:67
include bootstrap
class bootstrap {
$passenger_version = "2.2.11"
include bootstrap::packages
include bootstrap::install_passenger_apache_module
include bootstrap::modify_httpd_conf
include bootstrap::fix_up_rack_files
include bootstrap::install
}
class bootstrap::packages {
package {
[ "augeas", "apr-devel", "apr-util", "gcc", "gcc-c++", "httpd-devel", "ruby-devel", "rubygems", "make", "httpd" ]:
ensure => installed,
before => [ Package["rack"], Package["passenger"] ];
[ "puppet-server" , "puppet" ]:
ensure => "0.25.4-1.el5";
"rack":
ensure => installed,
provider => "gem",
require => Package["rubygems"];
"passenger":
ensure => $passenger_version,
provider => "gem",
require => Package["rubygems"];
}
}
class bootstrap::install_passenger_apache_module {
exec { "install-passenger-apache-module":
command => "/usr/lib/ruby/gems/1.8/gems/passenger-$passenger_version/bin/passenger-install-apache2-module --auto",
creates => "/usr/lib/ruby/gems/1.8/gems/passenger-$passenger_version/ext/apache2/mod_passenger.so",
before => Service["httpd"],
path => "/usr/bin",
require => Package["passenger"];
}
}
class bootstrap::modify_httpd_conf {
Exec { path => "/bin:/usr/bin:/usr/sbin" }
exec { "load-apache-module-httpd-conf":
command => "sed -e '/mod_version.so/a\\LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-$passenger_version/ext/apache2/mod_passenger.so' /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.new ; mv /etc/httpd/conf/httpd.conf.new /etc/httpd/conf/httpd.conf",
unless => "grep mod_passenger.so /etc/httpd/conf/httpd.conf",
before => Exec["specify-passenger-root-httpd-conf"],
require => Package["httpd"];
}
exec { "specify-passenger-root-httpd-conf":
command => "sed -e '/mod_passenger.so/a\\PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-$passenger_version' /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.new ; mv /etc/httpd/conf/httpd.conf.new /etc/httpd/conf/httpd.conf",
unless => "grep PassengerRoot /etc/httpd/conf/httpd.conf",
before => Exec["specify-passenger-ruby-httpd-conf"],
require => [ Package["httpd"], Exec["load-apache-module-httpd-conf"] ];
}
exec { "specify-passenger-ruby-httpd-conf":
command => "sed -e '/mod_passenger.so/a\\PassengerRuby /usr/bin/ruby' /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.new ; mv /etc/httpd/conf/httpd.conf.new /etc/httpd/conf/httpd.conf",
unless => "grep PassengerRuby /etc/httpd/conf/httpd.conf",
require => [ Package["httpd"], Exec["specify-passenger-root-httpd-conf"] ];
}
}
class bootstrap::fix_up_rack_files {
$content = "# you probably want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
RackAutoDetect Off
RailsAutoDetect Off
Listen 8140
<VirtualHost *:8140>
SSLEngine on
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
SSLCertificateFile /var/lib/puppet/ssl/certs/squigley.namespace.at.pem
SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/squigley.namespace.at.pem
SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
SSLCACertificateFile /var/lib/puppet/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 /var/lib/puppet/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars
DocumentRoot /etc/puppet/rack/public/
RackBaseURI /
<Directory /etc/puppet/rack/>
Options None
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
"
file { "/usr/share/puppet/ext/rack/files/apache2.conf":
content => $content,
}
file { "/usr/share/puppet/ext/rack/files/config.ru":
ensure => present,
owner => "puppet",
group => "puppet",
require => Package["puppet"],
}
}
class bootstrap::install {
file { ["/etc/puppet/rack", "/etc/puppet/rack/public"]:
ensure => directory,
mode => 0755,
owner => root,
group => root,
}
file { "/etc/puppet/rack/config.ru":
ensure => present,
source => [ "puppet:///modules/rack/config.ru", "/usr/share/puppet/ext/rack/files/config.ru" ],
mode => 0644,
owner => puppet,
group => root,
require => File[ "/usr/share/puppet/ext/rack/files/config.ru" ],
}
file { "/etc/httpd/conf.d/puppetmasterd":
ensure => present,
source => [ "puppet:///modules/rack/apache2.conf", "/usr/share/puppet/ext/rack/files/config.ru" ],
mode => 0644,
owner => root,
group => root,
require => [File["/etc/puppet/rack/config.ru"], File["/etc/puppet/rack/public"], Package["httpd"], Package["passenger"]],
notify => Service["httpd"],
}
service { "httpd":
ensure => running,
require => Package["httpd"],
}
}