2b27340640
The latest version of gearman-plugin contains logic to send node label information back to zuul. If available to zuul, zuul will be able to submit metrics to statsd in the context of the node label a job ran on. Change-Id: I2764c8cca3cc9d91846739f9884db6d199cfb09c
126 lines
3.1 KiB
Puppet
126 lines
3.1 KiB
Puppet
# == Class: openstack_project::jenkins_dev
|
|
#
|
|
class openstack_project::jenkins_dev (
|
|
$jenkins_ssh_private_key = '',
|
|
$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
|
|
|
|
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.3',
|
|
}
|
|
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',
|
|
}
|
|
|
|
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',
|
|
}
|
|
|
|
}
|