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:
Paul Belanger 2017-12-19 15:29:24 -05:00
parent 5a6165c17e
commit 7fc1968c16
No known key found for this signature in database
GPG Key ID: 611A80832067AF38
9 changed files with 0 additions and 731 deletions

View File

@ -1 +0,0 @@
jenkins ALL = NOPASSWD:/usr/local/jenkins/slave_scripts/jenkins-sudo-grep.sh

View File

@ -1,3 +0,0 @@
[easy_install]
index_url = http://mirror.dfw.rax.openstack.org/pypi/simple
allow_hosts = *.openstack.org

View File

@ -1,2 +0,0 @@
PATH=/var/lib/gems/1.8/bin:$PATH
export PATH

View File

@ -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,
}
}

View File

@ -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).")
}
}
}

View File

@ -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'],
}
}

View File

@ -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'],
}
}

View File

@ -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

View File

@ -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.
}