system-config/modules/openstack_project/manifests/jenkins_dev.pp
Clark Boylan 019121ff37 Update gearman-plugin to version 0.1.1.
We have now upgraded the gearman plugin across all of our jenkins to
versions 0.1.1. Reflect this in new server builds via puppet as well.

This new version adds support for latest jenkins lts releases.

Change-Id: I45863d7540262966dcf73e6570932b43bee9669f
2014-10-23 23:14:20 +00:00

139 lines
3.4 KiB
Puppet

# == Class: openstack_project::jenkins_dev
#
class openstack_project::jenkins_dev (
$jenkins_ssh_private_key = '',
$sysadmins = [],
$mysql_root_password,
$mysql_password,
$nodepool_ssh_private_key = '',
$jenkins_api_user ='',
$jenkins_api_key ='',
$jenkins_credentials_id ='',
$hpcloud_username ='',
$hpcloud_password ='',
$hpcloud_project ='',
$nodepool_template ='nodepool-dev.yaml.erb',
) {
realize (
User::Virtual::Localuser['zaro'],
)
include openstack_project
class { 'openstack_project::server':
iptables_public_tcp_ports => [80, 443],
sysadmins => $sysadmins,
}
include bup
bup::site { 'rs-ord':
backup_user => 'bup-jenkins-dev',
backup_server => 'ci-backup-rs-ord.openstack.org',
}
class { '::jenkins::master':
vhost_name => 'jenkins-dev.openstack.org',
serveradmin => 'webmaster@openstack.org',
logo => 'openstack.png',
ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key',
ssl_chain_file => '',
jenkins_ssh_private_key => $jenkins_ssh_private_key,
jenkins_ssh_public_key => $openstack_project::jenkins_dev_ssh_key,
}
jenkins::plugin { 'build-timeout':
version => '1.14',
}
jenkins::plugin { 'copyartifact':
version => '1.22',
}
jenkins::plugin { 'dashboard-view':
version => '2.3',
}
jenkins::plugin { 'gearman-plugin':
version => '0.1.1',
}
jenkins::plugin { 'git':
version => '1.1.23',
}
jenkins::plugin { 'greenballs':
version => '1.12',
}
jenkins::plugin { 'extended-read-permission':
version => '1.0',
}
jenkins::plugin { 'zmq-event-publisher':
version => '0.0.3',
}
# TODO(jeblair): release
# jenkins::plugin { 'scp':
# version => '1.9',
# }
jenkins::plugin { 'monitoring':
version => '1.40.0',
}
jenkins::plugin { 'nodelabelparameter':
version => '1.2.1',
}
jenkins::plugin { 'notification':
version => '1.4',
}
jenkins::plugin { 'openid':
version => '1.5',
}
jenkins::plugin { 'publish-over-ftp':
version => '1.7',
}
jenkins::plugin { 'simple-theme-plugin':
version => '0.2',
}
jenkins::plugin { 'timestamper':
version => '1.3.1',
}
jenkins::plugin { 'token-macro':
version => '1.5.1',
}
file { '/etc/default/jenkins':
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
source => 'puppet:///modules/openstack_project/jenkins/jenkins.default',
}
class { '::nodepool':
mysql_root_password => $mysql_root_password,
mysql_password => $mysql_password,
nodepool_ssh_private_key => $nodepool_ssh_private_key,
environment => {
'NODEPOOL_SSH_KEY' => $openstack_project::jenkins_dev_ssh_key,
}
}
file { '/etc/nodepool/nodepool.yaml':
ensure => present,
owner => 'nodepool',
group => 'root',
mode => '0400',
content => template("openstack_project/nodepool/${nodepool_template}"),
require => [
File['/etc/nodepool'],
User['nodepool'],
],
}
file { '/etc/nodepool/scripts':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
recurse => true,
purge => true,
force => true,
require => File['/etc/nodepool'],
source => 'puppet:///modules/openstack_project/nodepool/scripts',
}
}