Add jenkins master support.

Change-Id: Idd43b8e4b3dbe2a3781669f51943efa041b7b863
This commit is contained in:
Monty Taylor 2012-01-05 10:55:29 -08:00
parent 087ee03f98
commit c543f6a809
3 changed files with 106 additions and 0 deletions

View File

@ -167,6 +167,12 @@ node "gerrit-dev.openstack.org" {
}
}
node "jenkins.openstack.org" {
$iptables_public_tcp_ports = [80, 443]
include openstack_server
include jenkins_master
}
node "community.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 8099, 8080]
include openstack_server
@ -198,3 +204,4 @@ node /^deploy.*.openstack\.org$/ {
include openstack_jenkins_slave
include orchestra
}

View File

@ -0,0 +1,47 @@
<VirtualHost _default_:80>
ServerAdmin webmaster@openstack.org
ErrorLog ${APACHE_LOG_DIR}/jenkins-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/jenkins-access.log combined
Redirect / https://jenkins.openstack.org/
</VirtualHost>
<VirtualHost _default_:443>
ServerAdmin webmaster@openstack.org
ErrorLog ${APACHE_LOG_DIR}/jenkins-ssl-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/jenkins-ssl-access.log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCertificateFile /etc/ssl/certs/jenkins.openstack.org.pem
SSLCertificateKeyFile /etc/ssl/private/jenkins.openstack.org.key
SSLCertificateChainFile /etc/ssl/certs/intermediate.pem
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
RewriteEngine on
RewriteCond %{HTTP_HOST} !jenkins.openstack.org
RewriteRule ^.*$ https://jenkins.openstack.org/
ProxyPass / http://127.0.0.1:8080/ retry=0
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

View File

@ -0,0 +1,52 @@
class jenkins_master {
file { '/etc/apt/sources.list.d/jenkins':
owner => 'root',
group => 'root',
mode => 444,
ensure => 'present',
content => "deb http://pkg.jenkins-ci.org/debian binary/",
replace => 'true',
}
file { '/etc/apache2/sites-available/jenkins':
owner => 'root',
group => 'root',
mode => 444,
ensure => 'present',
source => "puppet:///modules/jenkins_server/apache.conf",
replace => 'true',
require => Package['apache2'],
}
file { '/etc/apache2/sites-enabled/apache2':
target => '/etc/apache2/site-available/jenkins',
ensure => link,
require => File['/etc/apache2/sites-available/jenkins'],
}
$packages = [
jenkins,
apache2
]
package { $packages:
ensure => "latest",
require => File['/etc/apt/sources.list.d/jenkins'],
}
exec { "update apt cache":
subscribe => [ File["/etc/apt/sources.list.d/jenkins"]],
refreshonly => true,
path => "/bin:/usr/bin",
command => "apt-get update",
}
exec { "gracefully restart apache":
subscribe => [ File["/etc/apache2/sites-available/jenkins"]],
refreshonly => true,
path => "/bin:/usr/bin:/usr/sbin",
command => "apache2ctl graceful",
}
}