Remove jenkins related puppet manifests
Now that zuulv3 is running in production, we no longer need these manifests. Change-Id: I9fe91e9925769f6f234a9d745b67107ee822be97 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
5a6165c17e
commit
7fc1968c16
modules/openstack_project
@ -1 +0,0 @@
|
|||||||
jenkins ALL = NOPASSWD:/usr/local/jenkins/slave_scripts/jenkins-sudo-grep.sh
|
|
@ -1,3 +0,0 @@
|
|||||||
[easy_install]
|
|
||||||
index_url = http://mirror.dfw.rax.openstack.org/pypi/simple
|
|
||||||
allow_hosts = *.openstack.org
|
|
@ -1,2 +0,0 @@
|
|||||||
PATH=/var/lib/gems/1.8/bin:$PATH
|
|
||||||
export PATH
|
|
@ -1,56 +0,0 @@
|
|||||||
# == Class: openstack_project::jenkins
|
|
||||||
#
|
|
||||||
class openstack_project::jenkins (
|
|
||||||
$vhost_name = $::fqdn,
|
|
||||||
$jenkins_password = '',
|
|
||||||
$jenkins_username = 'gerrig', # This is not a typo, well it isn't anymore.
|
|
||||||
$ssl_cert_file = '',
|
|
||||||
$ssl_key_file = '',
|
|
||||||
$ssl_chain_file = '/etc/ssl/certs/intermediate.pem',
|
|
||||||
$ssl_cert_file_contents = '',
|
|
||||||
$ssl_key_file_contents = '',
|
|
||||||
$ssl_chain_file_contents = '',
|
|
||||||
$jenkins_ssh_public_key = $openstack_project::jenkins_ssh_key,
|
|
||||||
$jenkins_ssh_private_key = '',
|
|
||||||
$project_config_repo = '',
|
|
||||||
$project_config_base = '',
|
|
||||||
$serveradmin = 'webmaster@openstack.org',
|
|
||||||
$logo = 'openstack.png',
|
|
||||||
) inherits openstack_project {
|
|
||||||
include openstack_project
|
|
||||||
|
|
||||||
# Set defaults here because they evaluate variables which you cannot
|
|
||||||
# do in the class parameter list.
|
|
||||||
if $ssl_cert_file == '' {
|
|
||||||
$prv_ssl_cert_file = "/etc/ssl/certs/${vhost_name}.pem"
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$prv_ssl_cert_file = $ssl_cert_file
|
|
||||||
}
|
|
||||||
if $ssl_key_file == '' {
|
|
||||||
$prv_ssl_key_file = "/etc/ssl/private/${vhost_name}.key"
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$prv_ssl_key_file = $ssl_key_file
|
|
||||||
}
|
|
||||||
|
|
||||||
class { 'openstackci::jenkins_master':
|
|
||||||
vhost_name => $vhost_name,
|
|
||||||
serveradmin => $serveradmin,
|
|
||||||
logo => $logo,
|
|
||||||
ssl_cert_file => $prv_ssl_cert_file,
|
|
||||||
ssl_key_file => $prv_ssl_key_file,
|
|
||||||
ssl_chain_file => $ssl_chain_file,
|
|
||||||
ssl_cert_file_contents => $ssl_cert_file_contents,
|
|
||||||
ssl_key_file_contents => $ssl_key_file_contents,
|
|
||||||
ssl_chain_file_contents => $ssl_chain_file_contents,
|
|
||||||
jenkins_ssh_private_key => $jenkins_ssh_private_key,
|
|
||||||
jenkins_ssh_public_key => $jenkins_ssh_public_key,
|
|
||||||
project_config_repo => $project_config_repo,
|
|
||||||
project_config_base => $project_config_base,
|
|
||||||
jenkins_username => $jenkins_username,
|
|
||||||
jenkins_password => $jenkins_password,
|
|
||||||
jenkins_url => "https://${vhost_name}/",
|
|
||||||
manage_jenkins_jobs => true,
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,182 +0,0 @@
|
|||||||
# Class: openstack_project::jenkins_params
|
|
||||||
#
|
|
||||||
# This class holds parameters that need to be
|
|
||||||
# accessed by other classes.
|
|
||||||
class openstack_project::jenkins_params {
|
|
||||||
case $::osfamily {
|
|
||||||
'RedHat': {
|
|
||||||
#yum groupinstall "Development Tools"
|
|
||||||
# packages needed by slaves
|
|
||||||
$ant_package = 'ant'
|
|
||||||
$awk_package = 'gawk'
|
|
||||||
$asciidoc_package = 'asciidoc'
|
|
||||||
$firefox_package = 'firefox'
|
|
||||||
$graphviz_package = 'graphviz'
|
|
||||||
$libcurl_dev_package = 'libcurl-devel'
|
|
||||||
$ldap_dev_package = 'openldap-devel'
|
|
||||||
# $libjerasure_dev_package = 'libjerasure-devel' not yet available
|
|
||||||
$librrd_dev_package = 'rrdtool-devel'
|
|
||||||
# packages needed by document translation
|
|
||||||
$gettext_package = 'gettext'
|
|
||||||
$language_fonts_packages = []
|
|
||||||
# for keystone ldap auth integration
|
|
||||||
$libsasl_dev = 'cyrus-sasl-devel'
|
|
||||||
$sqlite_dev_package = 'sqlite-devel'
|
|
||||||
$liberasurecode_dev_package = 'liberasurecode-devel'
|
|
||||||
$libevent_dev_package = 'libevent-devel'
|
|
||||||
$libpcap_dev_package = 'libpcap-devel'
|
|
||||||
$libvirt_dev_package = 'libvirt-devel'
|
|
||||||
$libxml2_package = 'libxml2'
|
|
||||||
$libxml2_dev_package = 'libxml2-devel'
|
|
||||||
$libxslt_dev_package = 'libxslt-devel'
|
|
||||||
$libffi_dev_package = 'libffi-devel'
|
|
||||||
# FIXME: No Maven packages on RHEL
|
|
||||||
#$maven_package = 'maven'
|
|
||||||
# For tooz unit tests
|
|
||||||
$memcached_package = 'memcached'
|
|
||||||
# For tooz unit tests (and others that use redis)
|
|
||||||
$redis_package = 'redis'
|
|
||||||
# For Ceilometer unit tests
|
|
||||||
$mongodb_package = 'mongodb-server'
|
|
||||||
$pkgconfig_package = 'pkgconfig'
|
|
||||||
# FIXME: no PyPy headers on RHEL
|
|
||||||
# FIXME: no PyPy on RHEL
|
|
||||||
# FIXME: no Python 3 headers on RHEL
|
|
||||||
# FIXME: no Python 3 on RHEL
|
|
||||||
$python_libvirt_package = 'libvirt-python'
|
|
||||||
$python_lxml_package = 'python-lxml'
|
|
||||||
$python_requests_package = 'python-requests'
|
|
||||||
$python_zmq_package = 'python-zmq'
|
|
||||||
$rubygems_package = 'rubygems'
|
|
||||||
$sqlite_package = 'sqlite'
|
|
||||||
$unzip_package = 'unzip'
|
|
||||||
$zip_package = 'zip'
|
|
||||||
$xslt_package = 'libxslt'
|
|
||||||
$xvfb_package = 'xorg-x11-server-Xvfb'
|
|
||||||
# PHP package, used for community portal
|
|
||||||
$php5_cli_package = 'php-cli'
|
|
||||||
# FIXME: No zookeeper packages on RHEL
|
|
||||||
#$zookeeper_package = 'zookeeper-server'
|
|
||||||
$cgroups_package = 'libcgroup'
|
|
||||||
if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) {
|
|
||||||
# From Fedora 19 and onwards there's no longer
|
|
||||||
# support to mysql-devel.
|
|
||||||
# Only community-mysql-devel. If you try to
|
|
||||||
# install mysql-devel you get a conflict with
|
|
||||||
# mariadb packages.
|
|
||||||
$mysql_dev_package = 'community-mysql-devel'
|
|
||||||
$mysql_package = 'community-mysql'
|
|
||||||
$zookeeper_package = 'zookeeper'
|
|
||||||
$cgroups_tools_package = 'libcgroup-tools'
|
|
||||||
$cgconfig_require = [
|
|
||||||
Package['cgroups'],
|
|
||||||
Package['cgroups-tools'],
|
|
||||||
]
|
|
||||||
$cgred_require = [
|
|
||||||
Package['cgroups'],
|
|
||||||
Package['cgroups-tools'],
|
|
||||||
]
|
|
||||||
$nss_devel = 'nss-devel'
|
|
||||||
} else {
|
|
||||||
$mysql_dev_package = 'mariadb-devel'
|
|
||||||
$cgroups_tools_package = ''
|
|
||||||
$cgconfig_require = Package['cgroups']
|
|
||||||
$cgred_require = Package['cgroups']
|
|
||||||
}
|
|
||||||
|
|
||||||
$uuid_dev = "libuuid-devel"
|
|
||||||
$swig = "swig"
|
|
||||||
$libjpeg_dev = "libjpeg-turbo-devel"
|
|
||||||
$zlib_dev = "zlib-devel"
|
|
||||||
$systemd_dev_packages = ['systemd-devel']
|
|
||||||
}
|
|
||||||
'Debian': {
|
|
||||||
# packages needed by slaves
|
|
||||||
$ant_package = 'ant'
|
|
||||||
$awk_package = 'gawk'
|
|
||||||
$asciidoc_package = 'asciidoc'
|
|
||||||
$firefox_package = 'firefox'
|
|
||||||
$graphviz_package = 'graphviz'
|
|
||||||
$libcurl_dev_package = 'libcurl4-gnutls-dev'
|
|
||||||
$libevent_dev_package = 'libevent-dev'
|
|
||||||
$libpcap_dev_package = 'libpcap-dev'
|
|
||||||
$ldap_dev_package = 'libldap2-dev'
|
|
||||||
$liberasurecode_dev_package = 'liberasurecode-dev'
|
|
||||||
$libjerasure_dev_package = 'libjerasure-dev'
|
|
||||||
$librrd_dev_package = 'librrd-dev'
|
|
||||||
# packages needed by document translation
|
|
||||||
$gettext_package = 'gettext'
|
|
||||||
$language_fonts_packages = ['fonts-takao', 'fonts-nanum']
|
|
||||||
# for keystone ldap auth integration
|
|
||||||
$libsasl_dev = 'libsasl2-dev'
|
|
||||||
$mysql_dev_package = 'libmysqlclient-dev'
|
|
||||||
$sqlite_dev_package = 'libsqlite3-dev'
|
|
||||||
$libvirt_dev_package = 'libvirt-dev'
|
|
||||||
$libxml2_package = 'libxml2-utils'
|
|
||||||
$libxml2_dev_package = 'libxml2-dev'
|
|
||||||
$libxslt_dev_package = 'libxslt1-dev'
|
|
||||||
$libffi_dev_package = 'libffi-dev'
|
|
||||||
if ($::operatingsystem == 'Ubuntu') and ($::operatingsystemrelease >= '16.04') {
|
|
||||||
$maven_package = 'maven'
|
|
||||||
$systemd_dev_packages = ['libsystemd-dev']
|
|
||||||
} else {
|
|
||||||
$maven_package = 'maven2'
|
|
||||||
$systemd_dev_packages = [
|
|
||||||
'libsystemd-journal-dev',
|
|
||||||
'libsystemd-daemon-dev',
|
|
||||||
'libsystemd-login-dev',
|
|
||||||
'libsystemd-id128-dev']
|
|
||||||
}
|
|
||||||
# For tooz unit tests
|
|
||||||
$memcached_package = 'memcached'
|
|
||||||
# For tooz unit tests (and others that use redis)
|
|
||||||
$redis_package = 'redis-server'
|
|
||||||
# For Ceilometer unit tests
|
|
||||||
$mongodb_package = 'mongodb'
|
|
||||||
$pkgconfig_package = 'pkg-config'
|
|
||||||
$pypy_dev_package = 'pypy-dev'
|
|
||||||
$pypy_package = 'pypy'
|
|
||||||
$python3_dev_package = 'python3-all-dev'
|
|
||||||
$python3_package = 'python3.4'
|
|
||||||
$python_libvirt_package = 'python-libvirt'
|
|
||||||
$python_lxml_package = 'python-lxml'
|
|
||||||
$python_requests_package = 'python-requests'
|
|
||||||
$python_zmq_package = 'python-zmq'
|
|
||||||
if $::lsbdistcodename == 'precise' {
|
|
||||||
$rubygems_package = 'rubygems'
|
|
||||||
} else {
|
|
||||||
$rubygems_package = 'ruby'
|
|
||||||
}
|
|
||||||
|
|
||||||
$sqlite_package = 'sqlite3'
|
|
||||||
$unzip_package = 'unzip'
|
|
||||||
$zip_package = 'zip'
|
|
||||||
$xslt_package = 'xsltproc'
|
|
||||||
$xvfb_package = 'xvfb'
|
|
||||||
# PHP package, used for community portal
|
|
||||||
$php5_cli_package = 'php5-cli'
|
|
||||||
$php5_mcrypt_package = 'php5-mcrypt'
|
|
||||||
# For [tooz, taskflow, nova] using zookeeper in unit tests
|
|
||||||
$zookeeper_package = 'zookeeperd'
|
|
||||||
$cgroups_package = 'cgroup-bin'
|
|
||||||
$cgroups_tools_package = ''
|
|
||||||
$cgconfig_require = [
|
|
||||||
Package['cgroups'],
|
|
||||||
File['/etc/init/cgconfig.conf'],
|
|
||||||
]
|
|
||||||
$cgred_require = [
|
|
||||||
Package['cgroups'],
|
|
||||||
File['/etc/init/cgred.conf'],
|
|
||||||
]
|
|
||||||
|
|
||||||
$uuid_dev = "uuid-dev"
|
|
||||||
$swig = "swig"
|
|
||||||
$libjpeg_dev = "libjpeg-dev"
|
|
||||||
$zlib_dev = "zlib1g-dev"
|
|
||||||
$nss_devel = 'libnss3-dev'
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
fail("Unsupported osfamily: ${::osfamily} The 'jenkins' module only supports osfamily Debian or RedHat (slaves only).")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,122 +0,0 @@
|
|||||||
# == Class: openstack_project::slave
|
|
||||||
#
|
|
||||||
class openstack_project::slave (
|
|
||||||
$thin = false,
|
|
||||||
$ssh_key = '',
|
|
||||||
$sysadmins = [],
|
|
||||||
$jenkins_gitfullname = 'OpenStack Jenkins',
|
|
||||||
$jenkins_gitemail = 'jenkins@openstack.org',
|
|
||||||
$jenkins_gitpgpkey = 'jenkins@openstack.org',
|
|
||||||
$jenkins_gerrituser = 'jenkins',
|
|
||||||
$jenkins_gerritkey = undef,
|
|
||||||
$project_config_repo = 'https://git.openstack.org/openstack-infra/project-config',
|
|
||||||
$afs = false,
|
|
||||||
) {
|
|
||||||
|
|
||||||
include openstack_project
|
|
||||||
include openstack_project::tmpcleanup
|
|
||||||
|
|
||||||
class { 'openstack_project::server':
|
|
||||||
iptables_public_tcp_ports => [19885],
|
|
||||||
iptables_public_udp_ports => [],
|
|
||||||
sysadmins => $sysadmins,
|
|
||||||
afs => $afs
|
|
||||||
}
|
|
||||||
|
|
||||||
class { 'jenkins::slave':
|
|
||||||
ssh_key => $ssh_key,
|
|
||||||
gitfullname => $jenkins_gitfullname,
|
|
||||||
gitemail => $jenkins_gitemail,
|
|
||||||
gitpgpkey => $jenkins_gitpgpkey,
|
|
||||||
gerrituser => $jenkins_gerrituser,
|
|
||||||
gerritkey => $jenkins_gerritkey,
|
|
||||||
}
|
|
||||||
|
|
||||||
file { '/etc/sudoers.d/jenkins-sudo-grep':
|
|
||||||
ensure => present,
|
|
||||||
source => 'puppet:///modules/openstack_project/jenkins-sudo-grep.sudo',
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0440',
|
|
||||||
}
|
|
||||||
|
|
||||||
include jenkins::cgroups
|
|
||||||
include ulimit
|
|
||||||
ulimit::conf { 'limit_jenkins_procs':
|
|
||||||
limit_domain => 'jenkins',
|
|
||||||
limit_type => 'hard',
|
|
||||||
limit_item => 'nproc',
|
|
||||||
limit_value => '256'
|
|
||||||
}
|
|
||||||
|
|
||||||
class { 'project_config':
|
|
||||||
url => $project_config_repo,
|
|
||||||
}
|
|
||||||
|
|
||||||
file { '/usr/local/jenkins/common_data':
|
|
||||||
ensure => directory,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
recurse => true,
|
|
||||||
purge => true,
|
|
||||||
force => true,
|
|
||||||
require => [File['/usr/local/jenkins'],
|
|
||||||
$::project_config::config_dir],
|
|
||||||
source => $::project_config::jenkins_data_dir,
|
|
||||||
}
|
|
||||||
|
|
||||||
file { '/usr/local/jenkins/slave_scripts':
|
|
||||||
ensure => directory,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
recurse => true,
|
|
||||||
purge => true,
|
|
||||||
force => true,
|
|
||||||
require => [File['/usr/local/jenkins'],
|
|
||||||
$::project_config::config_dir],
|
|
||||||
source => $::project_config::jenkins_scripts_dir,
|
|
||||||
}
|
|
||||||
|
|
||||||
# needed by jenkins/jobs
|
|
||||||
if ! defined(Package['curl']) {
|
|
||||||
package { 'curl':
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
file { '/home/jenkins/.pydistutils.cfg':
|
|
||||||
ensure => present,
|
|
||||||
owner => 'jenkins',
|
|
||||||
group => 'jenkins',
|
|
||||||
mode => '0644',
|
|
||||||
source => 'puppet:///modules/openstack_project/pydistutils.cfg',
|
|
||||||
require => Class['jenkins::jenkinsuser'],
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $thin) {
|
|
||||||
include openstack_project::thick_slave
|
|
||||||
}
|
|
||||||
|
|
||||||
vcsrepo { '/opt/zuul':
|
|
||||||
ensure => latest,
|
|
||||||
provider => git,
|
|
||||||
revision => 'master',
|
|
||||||
source => 'https://git.openstack.org/openstack-infra/zuul.git',
|
|
||||||
}
|
|
||||||
|
|
||||||
python::virtualenv { '/usr/zuul-env':
|
|
||||||
ensure => present,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
timeout => 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
exec { 'zuul-env-update':
|
|
||||||
command => '/usr/zuul-env/bin/pip --log /usr/zuul-env/pip.log install /opt/zuul',
|
|
||||||
refreshonly => true,
|
|
||||||
subscribe => Vcsrepo['/opt/zuul'],
|
|
||||||
require => Python::Virtualenv['/usr/zuul-env'],
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,156 +0,0 @@
|
|||||||
# Slave database configuration
|
|
||||||
class openstack_project::slave_db(
|
|
||||||
$all_mysql_privs = false,
|
|
||||||
){
|
|
||||||
|
|
||||||
$root_db_password = 'insecure_slave'
|
|
||||||
|
|
||||||
if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) {
|
|
||||||
class {'mysql::server':
|
|
||||||
root_password => $root_db_password,
|
|
||||||
override_options => {
|
|
||||||
'mysqld' => {
|
|
||||||
'default-storage-engine' => 'MyISAM',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
package_name => 'community-mysql-server',
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
class {'mysql::server':
|
|
||||||
root_password => $root_db_password,
|
|
||||||
override_options => {
|
|
||||||
'mysqld' => {
|
|
||||||
'default-storage-engine' => 'MyISAM',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include mysql::server::account_security
|
|
||||||
|
|
||||||
mysql::db { 'openstack_citest':
|
|
||||||
user => 'openstack_citest',
|
|
||||||
password => 'openstack_citest',
|
|
||||||
host => 'localhost',
|
|
||||||
grant => ['all'],
|
|
||||||
require => [
|
|
||||||
Class['mysql::server'],
|
|
||||||
Class['mysql::server::account_security'],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
# mysql::db is too dumb to realize that the same user can have
|
|
||||||
# access to multiple databases and will fail if you try creating
|
|
||||||
# a second DB with the same user. Create the DB directly as mysql::db
|
|
||||||
# above is creating the user for us.
|
|
||||||
mysql_database { 'openstack_baremetal_citest':
|
|
||||||
ensure => present,
|
|
||||||
charset => 'utf8',
|
|
||||||
require => [
|
|
||||||
Class['mysql::server'],
|
|
||||||
Class['mysql::server::account_security'],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
mysql_grant { 'openstack_citest@localhost/openstack_baremetal_citest.*':
|
|
||||||
privileges => ['all'],
|
|
||||||
user => 'openstack_citest@localhost',
|
|
||||||
table => 'openstack_baremetal_citest.*',
|
|
||||||
require => Mysql_user['openstack_citest@localhost'],
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($all_mysql_privs == true) {
|
|
||||||
mysql_grant { 'openstack_citest@localhost/*.*':
|
|
||||||
privileges => ['all'],
|
|
||||||
options => ['GRANT'],
|
|
||||||
user => 'openstack_citest@localhost',
|
|
||||||
table => '*.*',
|
|
||||||
require => Mysql_user['openstack_citest@localhost'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# The puppetlabs postgres module does not manage the postgres user
|
|
||||||
# and group for us. Create them here to ensure concat can create
|
|
||||||
# dirs and files owned by this user and group.
|
|
||||||
user { 'postgres':
|
|
||||||
ensure => present,
|
|
||||||
gid => 'postgres',
|
|
||||||
system => true,
|
|
||||||
require => Group['postgres'],
|
|
||||||
}
|
|
||||||
|
|
||||||
group { 'postgres':
|
|
||||||
ensure => present,
|
|
||||||
system => true,
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($::lsbdistcodename == 'trusty') {
|
|
||||||
class { 'postgresql::globals':
|
|
||||||
version => '9.3',
|
|
||||||
before => Class['postgresql::server'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class { 'postgresql::server':
|
|
||||||
postgres_password => $root_db_password,
|
|
||||||
manage_firewall => false,
|
|
||||||
# The puppetlabs postgres module incorrectly quotes ip addresses
|
|
||||||
# in the postgres server config. Use localhost instead.
|
|
||||||
listen_addresses => ['localhost'],
|
|
||||||
require => [
|
|
||||||
User['postgres'],
|
|
||||||
Class['postgresql::params'],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
class { 'postgresql::lib::devel':
|
|
||||||
require => Class['postgresql::params'],
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create DB user and explicitly make it non superuser
|
|
||||||
# that can create databases.
|
|
||||||
postgresql::server::role { 'openstack_citest':
|
|
||||||
password_hash => postgresql_password('openstack_citest', 'openstack_citest'),
|
|
||||||
createdb => true,
|
|
||||||
superuser => false,
|
|
||||||
require => Class['postgresql::server'],
|
|
||||||
}
|
|
||||||
|
|
||||||
postgresql::server::db { 'openstack_citest':
|
|
||||||
user => 'openstack_citest',
|
|
||||||
password => postgresql_password('openstack_citest', 'openstack_citest'),
|
|
||||||
grant => 'all',
|
|
||||||
require => [
|
|
||||||
Class['postgresql::server'],
|
|
||||||
Postgresql::Server::Role['openstack_citest'],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
# Alter the new database giving the test DB user ownership of the DB.
|
|
||||||
# This is necessary to make the nova unittests run properly.
|
|
||||||
postgresql_psql { 'ALTER DATABASE openstack_citest OWNER TO openstack_citest':
|
|
||||||
db => 'postgres',
|
|
||||||
refreshonly => true,
|
|
||||||
subscribe => Postgresql::Server::Db['openstack_citest'],
|
|
||||||
}
|
|
||||||
|
|
||||||
postgresql::server::db { 'openstack_baremetal_citest':
|
|
||||||
user => 'openstack_citest',
|
|
||||||
password => postgresql_password('openstack_citest', 'openstack_citest'),
|
|
||||||
grant => 'all',
|
|
||||||
require => [
|
|
||||||
Class['postgresql::server'],
|
|
||||||
Postgresql::Server::Role['openstack_citest'],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
# Alter the new database giving the test DB user ownership of the DB.
|
|
||||||
# This is necessary to make the nova unittests run properly.
|
|
||||||
postgresql_psql { 'ALTER DATABASE openstack_baremetal_citest OWNER TO
|
|
||||||
openstack_citest':
|
|
||||||
db => 'postgres',
|
|
||||||
refreshonly => true,
|
|
||||||
subscribe => Postgresql::Server::Db['openstack_baremetal_citest'],
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,196 +0,0 @@
|
|||||||
# Extra configuration (like mysql) that we will want on many but not all
|
|
||||||
# slaves.
|
|
||||||
class openstack_project::thick_slave(
|
|
||||||
$all_mysql_privs = false,
|
|
||||||
){
|
|
||||||
|
|
||||||
include openstack_project::jenkins_params
|
|
||||||
|
|
||||||
# Packages that most jenkins slaves (eg, unit test runners) need
|
|
||||||
$packages = [
|
|
||||||
$::openstack_project::jenkins_params::ant_package, # for building buck
|
|
||||||
$::openstack_project::jenkins_params::awk_package, # for building extract_docs.awk to work correctly
|
|
||||||
$::openstack_project::jenkins_params::asciidoc_package, # for building gerrit
|
|
||||||
$::openstack_project::jenkins_params::gettext_package, # for msgfmt, used in translating manuals
|
|
||||||
$::openstack_project::jenkins_params::graphviz_package, # for generating graphs in docs
|
|
||||||
$::openstack_project::jenkins_params::firefox_package, # for selenium tests
|
|
||||||
$::openstack_project::jenkins_params::language_fonts_packages,
|
|
||||||
$::openstack_project::jenkins_params::libcurl_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::libevent_dev_package, # for gevent egg
|
|
||||||
$::openstack_project::jenkins_params::libpcap_dev_package, # for pypcap egg
|
|
||||||
$::openstack_project::jenkins_params::ldap_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::librrd_dev_package, # for python-rrdtool, used by kwapi
|
|
||||||
$::openstack_project::jenkins_params::libsasl_dev, # for keystone ldap auth integration
|
|
||||||
$::openstack_project::jenkins_params::memcached_package, # for tooz unit tests
|
|
||||||
$::openstack_project::jenkins_params::redis_package, # for tooz unit tests (and others that use redis)
|
|
||||||
$::openstack_project::jenkins_params::mongodb_package, # for ceilometer unit tests
|
|
||||||
$::openstack_project::jenkins_params::mysql_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::sqlite_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::libvirt_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::libxml2_package,
|
|
||||||
$::openstack_project::jenkins_params::libxml2_dev_package, # for xmllint, need for wadl
|
|
||||||
$::openstack_project::jenkins_params::libxslt_dev_package,
|
|
||||||
$::openstack_project::jenkins_params::libffi_dev_package, # xattr's cffi dependency
|
|
||||||
$::openstack_project::jenkins_params::pkgconfig_package, # for spidermonkey, used by ceilometer
|
|
||||||
$::openstack_project::jenkins_params::python_libvirt_package,
|
|
||||||
$::openstack_project::jenkins_params::python_lxml_package, # for validating openstack manuals
|
|
||||||
$::openstack_project::jenkins_params::python_zmq_package, # zeromq unittests (not pip installable)
|
|
||||||
$::openstack_project::jenkins_params::rubygems_package,
|
|
||||||
$::openstack_project::jenkins_params::sqlite_package,
|
|
||||||
$::openstack_project::jenkins_params::unzip_package,
|
|
||||||
$::openstack_project::jenkins_params::zip_package,
|
|
||||||
$::openstack_project::jenkins_params::xslt_package, # for building openstack docs
|
|
||||||
$::openstack_project::jenkins_params::xvfb_package, # for selenium tests
|
|
||||||
$::openstack_project::jenkins_params::php5_cli_package, # for community portal build
|
|
||||||
|
|
||||||
$::openstack_project::jenkins_params::uuid_dev, # for oslo.messaging pyngus/proton
|
|
||||||
$::openstack_project::jenkins_params::swig, # for oslo.messaging pyngus/proton
|
|
||||||
$::openstack_project::jenkins_params::libjpeg_dev, # for sphinx Pillow dep
|
|
||||||
$::openstack_project::jenkins_params::zlib_dev, # for sphinx Pillow dep
|
|
||||||
$::openstack_project::jenkins_params::nss_devel, # for python-nss
|
|
||||||
$::openstack_project::jenkins_params::systemd_dev_packages, # for systemd-python
|
|
||||||
]
|
|
||||||
|
|
||||||
package { $packages:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
include pip
|
|
||||||
# for pushing files to swift and uploading to pypi with twine
|
|
||||||
package { 'requests':
|
|
||||||
ensure => latest,
|
|
||||||
provider => openstack_pip,
|
|
||||||
}
|
|
||||||
if ($::osfamily == 'RedHat') {
|
|
||||||
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=973375
|
|
||||||
exec { 'remove_requests':
|
|
||||||
command => "/usr/bin/yum remove -y ${::openstack_project::jenkins_params::python_requests_package}",
|
|
||||||
onlyif => "/bin/rpm -qa|/bin/grep -q ${::openstack_project::jenkins_params::python_requests_package}",
|
|
||||||
before => Package['requests'],
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
package { $::openstack_project::jenkins_params::python_requests_package:
|
|
||||||
ensure => absent,
|
|
||||||
before => Package['requests'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($::lsbdistcodename == 'trusty') {
|
|
||||||
|
|
||||||
# Only install PyPy and Python 3.4 packages on Ubuntu 14.04 LTS (Trusty)
|
|
||||||
package { $::openstack_project::jenkins_params::pypy_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
package { $::openstack_project::jenkins_params::pypy_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
package { $::openstack_project::jenkins_params::python3_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
package { $::openstack_project::jenkins_params::python3_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
# for pyeclib, used by swift, not available before Trusty
|
|
||||||
package { $::openstack_project::jenkins_params::libjerasure_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
# Don't install the Ruby Gems profile script on Trusty
|
|
||||||
file { '/etc/profile.d/rubygems.sh':
|
|
||||||
ensure => absent,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
file { '/etc/profile.d/rubygems.sh':
|
|
||||||
ensure => present,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0644',
|
|
||||||
source => 'puppet:///modules/openstack_project/rubygems.sh',
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
case $::osfamily {
|
|
||||||
'RedHat': {
|
|
||||||
if ($::operatingsystem == 'Fedora') {
|
|
||||||
# For [tooz, taskflow, nova] using zookeeper in unit tests
|
|
||||||
package { $::openstack_project::jenkins_params::zookeeper_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
# Fedora needs community-mysql package for mysql_config
|
|
||||||
# command used in some gate-{project}-python27
|
|
||||||
# jobs in Jenkins
|
|
||||||
package { $::openstack_project::jenkins_params::mysql_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
if ($::operatingsystemrelease >= 22) {
|
|
||||||
# For pyeclib, used by swift
|
|
||||||
package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($::operatingsystem == 'CentOS') {
|
|
||||||
if ($::operatingsystemmajrelease >= '7') {
|
|
||||||
# For pyeclib, used by swift
|
|
||||||
package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'Debian': {
|
|
||||||
# For [tooz, taskflow, nova] using zookeeper in unit tests
|
|
||||||
package { $::openstack_project::jenkins_params::zookeeper_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
# For openstackid using php5-mcrypt for distro build
|
|
||||||
package { $::openstack_project::jenkins_params::php5_mcrypt_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
# For pyeclib, used by swift
|
|
||||||
package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
package { 'rake':
|
|
||||||
ensure => '10.1.1',
|
|
||||||
provider => gem,
|
|
||||||
before => Package['puppetlabs_spec_helper'],
|
|
||||||
require => Package[$::openstack_project::jenkins_params::rubygems_package],
|
|
||||||
}
|
|
||||||
|
|
||||||
package { 'puppet-lint':
|
|
||||||
ensure => '0.3.2',
|
|
||||||
provider => gem,
|
|
||||||
require => Package[$::openstack_project::jenkins_params::rubygems_package],
|
|
||||||
}
|
|
||||||
|
|
||||||
$gem_packages = [
|
|
||||||
'bundler',
|
|
||||||
'puppetlabs_spec_helper',
|
|
||||||
]
|
|
||||||
|
|
||||||
package { $gem_packages:
|
|
||||||
ensure => latest,
|
|
||||||
provider => gem,
|
|
||||||
require => Package[$::openstack_project::jenkins_params::rubygems_package],
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($::in_chroot) {
|
|
||||||
notify { 'databases in chroot':
|
|
||||||
message => 'databases and grants not created, running in chroot',
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
class { 'openstack_project::slave_db':
|
|
||||||
all_mysql_privs => $all_mysql_privs,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# vim:sw=2:ts=2:expandtab:textwidth=79
|
|
@ -1,13 +0,0 @@
|
|||||||
# == Class: openstack_project::tmpcleanup
|
|
||||||
#
|
|
||||||
class openstack_project::tmpcleanup (
|
|
||||||
) {
|
|
||||||
|
|
||||||
if $::osfamily == 'Debian' {
|
|
||||||
include tmpreaper
|
|
||||||
}
|
|
||||||
|
|
||||||
# FIXME need to implement an something on RHEL to fine tune the
|
|
||||||
# temp directory cleanup.
|
|
||||||
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user