2011-09-08 13:20:21 -07:00
|
|
|
#
|
|
|
|
# Default: should at least behave like an openstack server
|
|
|
|
#
|
|
|
|
node default {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::puppet_cron
|
|
|
|
include openstack_project::server
|
2011-09-08 13:20:21 -07:00
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
#
|
|
|
|
# Long lived servers:
|
|
|
|
#
|
2012-05-29 18:12:35 +00:00
|
|
|
|
|
|
|
# Current thinking on Gerrit tuning parameters:
|
|
|
|
|
|
|
|
# database.poolLimit:
|
|
|
|
# This limit must be several units higher than the total number of
|
|
|
|
# httpd and sshd threads as some request processing code paths may need
|
|
|
|
# multiple connections.
|
|
|
|
# database.poolLimit = 1 + max(sshd.threads,sshd.batchThreads) + sshd.streamThreads + sshd.commandStartThreads + httpd.acceptorThreads + httpd.maxThreads
|
|
|
|
# http://groups.google.com/group/repo-discuss/msg/4c2809310cd27255
|
|
|
|
# or "2x sshd.threads"
|
|
|
|
# http://groups.google.com/group/repo-discuss/msg/269024c966e05d6a
|
|
|
|
|
|
|
|
# container.heaplimit:
|
|
|
|
# core.packedgit*
|
|
|
|
# http://groups.google.com/group/repo-discuss/msg/269024c966e05d6a
|
|
|
|
|
|
|
|
# sshd.threads:
|
|
|
|
# http://groups.google.com/group/repo-discuss/browse_thread/thread/b91491c185295a71
|
|
|
|
|
2012-07-02 12:27:29 -07:00
|
|
|
# httpd.maxWait:
|
|
|
|
# 12:07 <@spearce> httpd.maxwait defaults to 5 minutes and is how long gerrit
|
|
|
|
# waits for an idle sshd.thread before aboring the http request
|
|
|
|
# 12:08 <@spearce> ironically
|
|
|
|
# 12:08 <@spearce> ProjectQosFilter passes this value as minutes
|
|
|
|
# 12:08 <@spearce> to a method that accepts milliseconds
|
|
|
|
# 12:09 <@spearce> so. you get 5 milliseconds before aborting
|
|
|
|
# thus, set it to 5000minutes until the bug is fixed.
|
|
|
|
|
2012-05-29 18:12:35 +00:00
|
|
|
node "review.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443, 29418]
|
|
|
|
}
|
2011-08-05 23:00:46 +00:00
|
|
|
class { 'gerrit':
|
2012-04-10 01:16:47 +00:00
|
|
|
virtual_hostname => 'review.openstack.org',
|
2011-08-05 23:00:46 +00:00
|
|
|
canonicalweburl => "https://review.openstack.org/",
|
2012-04-10 01:16:47 +00:00
|
|
|
ssl_cert_file => '/etc/ssl/certs/review.openstack.org.pem',
|
|
|
|
ssl_key_file => '/etc/ssl/private/review.openstack.org.key',
|
|
|
|
ssl_chain_file => '/etc/ssl/certs/intermediate.pem',
|
2012-05-29 18:12:35 +00:00
|
|
|
email => 'review@openstack.org',
|
|
|
|
database_poollimit => '150', # 1 + 100 + 9 + 2 + 2 + 25 = 139(rounded up)
|
|
|
|
container_heaplimit => '8g',
|
|
|
|
core_packedgitopenfiles => '4096',
|
|
|
|
core_packedgitlimit => '400m',
|
|
|
|
core_packedgitwindowsize => '16k',
|
|
|
|
sshd_threads => '100',
|
2012-07-02 12:27:29 -07:00
|
|
|
httpd_maxwait => '5000min',
|
2012-07-20 18:56:35 -07:00
|
|
|
github_projects => $openstack_project::project_list,
|
2012-05-10 13:12:31 -04:00
|
|
|
upstream_projects => [ {
|
|
|
|
name => 'openstack-ci/gerrit',
|
|
|
|
remote => 'https://gerrit.googlesource.com/gerrit'
|
|
|
|
} ],
|
2012-04-10 01:16:47 +00:00
|
|
|
logo => 'openstack.png',
|
2012-07-06 12:48:38 -05:00
|
|
|
war => 'http://tarballs.openstack.org/ci/gerrit-2.4.1-10-g63110fd.war',
|
2012-05-17 14:53:01 +01:00
|
|
|
script_user => 'launchpadsync',
|
|
|
|
script_key_file => '/home/gerrit2/.ssh/launchpadsync_rsa',
|
2012-06-28 12:49:12 -07:00
|
|
|
script_site => 'openstack',
|
|
|
|
enable_melody => 'true',
|
2012-07-19 17:17:29 -07:00
|
|
|
melody_session => 'true',
|
|
|
|
gerritbot_nick => 'openstackgerrit',
|
|
|
|
gerritbot_password => hiera('gerrit_gerritbot_password'),
|
|
|
|
gerritbot_server => 'irc.freenode.net',
|
|
|
|
gerritbot_user => 'gerritbot',
|
|
|
|
github_user => 'openstack-gerrit',
|
|
|
|
github_token => hiera('gerrit_github_token'),
|
|
|
|
mysql_password => hiera('gerrit_mysql_password'),
|
|
|
|
email_private_key => hiera('gerrit_email_private_key'),
|
2011-08-05 23:00:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-04-04 16:00:12 -07:00
|
|
|
node "gerrit-dev.openstack.org", "review-dev.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443, 29418]
|
|
|
|
}
|
2012-03-09 15:59:44 +08:00
|
|
|
|
2011-08-05 23:00:46 +00:00
|
|
|
class { 'gerrit':
|
2012-04-10 01:16:47 +00:00
|
|
|
virtual_hostname => 'review-dev.openstack.org',
|
2011-08-05 23:00:46 +00:00
|
|
|
canonicalweburl => "https://review-dev.openstack.org/",
|
2012-04-10 01:16:47 +00:00
|
|
|
ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
|
|
|
|
ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key',
|
|
|
|
ssl_chain_file => '',
|
2011-08-05 23:00:46 +00:00
|
|
|
email => "review-dev@openstack.org",
|
2011-08-12 22:16:46 +00:00
|
|
|
github_projects => [ {
|
2011-08-17 10:58:49 -07:00
|
|
|
name => 'gtest-org/test',
|
2011-08-12 22:16:46 +00:00
|
|
|
close_pull => 'true'
|
2012-03-12 16:57:38 +00:00
|
|
|
} ],
|
2012-04-10 01:16:47 +00:00
|
|
|
logo => 'openstack.png',
|
2012-07-08 10:10:38 -05:00
|
|
|
war => 'http://tarballs.openstack.org/ci/gerrit-2.4.2-10-g93ffc27.war',
|
2012-05-17 14:53:01 +01:00
|
|
|
script_user => 'update',
|
|
|
|
script_key_file => '/home/gerrit2/.ssh/id_rsa',
|
2012-06-25 13:26:46 -07:00
|
|
|
script_site => 'openstack',
|
|
|
|
enable_melody => 'true',
|
2012-07-21 19:17:41 -07:00
|
|
|
melody_session => 'true',
|
|
|
|
gerritbot_nick => '',
|
|
|
|
gerritbot_password => '',
|
|
|
|
gerritbot_server => '',
|
|
|
|
gerritbot_user => '',
|
|
|
|
github_user => 'openstack-gerrit-dev',
|
|
|
|
github_token => hiera('gerrit_dev_github_token'),
|
|
|
|
mysql_password => hiera('gerrit_dev_mysql_password'),
|
2012-07-21 21:27:13 -05:00
|
|
|
email_private_key => hiera('gerrit_dev_email_private_key'),
|
2011-08-05 23:00:46 +00:00
|
|
|
}
|
2011-08-02 12:58:08 -07:00
|
|
|
}
|
|
|
|
|
2012-01-05 10:55:29 -08:00
|
|
|
node "jenkins.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443, 4155]
|
|
|
|
}
|
2012-03-06 13:37:46 +00:00
|
|
|
class { 'jenkins_master':
|
|
|
|
site => 'jenkins.openstack.org',
|
2012-03-12 16:57:38 +00:00
|
|
|
serveradmin => 'webmaster@openstack.org',
|
2012-04-24 11:02:23 -07:00
|
|
|
logo => 'openstack.png',
|
|
|
|
ssl_cert_file => '/etc/ssl/certs/jenkins.openstack.org.pem',
|
|
|
|
ssl_key_file => '/etc/ssl/private/jenkins.openstack.org.key',
|
|
|
|
ssl_chain_file => '/etc/ssl/certs/intermediate.pem',
|
2012-03-06 13:37:46 +00:00
|
|
|
}
|
2012-05-16 12:30:58 -04:00
|
|
|
class { "jenkins_jobs":
|
2012-07-19 17:17:29 -07:00
|
|
|
url => "https://jenkins.openstack.org/",
|
|
|
|
username => "gerrig",
|
|
|
|
password => hiera('jenkins_jobs_password'),
|
2012-05-16 12:30:58 -04:00
|
|
|
site => "openstack",
|
|
|
|
}
|
2012-07-20 18:56:35 -07:00
|
|
|
class { "openstack_project::zuul": }
|
2012-01-05 10:55:29 -08:00
|
|
|
}
|
|
|
|
|
2012-02-28 11:37:20 -08:00
|
|
|
node "jenkins-dev.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443, 4155]
|
|
|
|
}
|
2012-06-15 22:40:12 +00:00
|
|
|
class { 'backup':
|
2012-07-20 18:56:35 -07:00
|
|
|
backup_user => 'bup-jenkins-dev',
|
|
|
|
backup_server => 'ci-backup-rs-ord.openstack.org'
|
2012-06-15 22:40:12 +00:00
|
|
|
}
|
2012-03-06 13:37:46 +00:00
|
|
|
class { 'jenkins_master':
|
2012-05-21 08:40:40 -07:00
|
|
|
site => 'jenkins-dev.openstack.org',
|
2012-04-24 10:24:39 -07:00
|
|
|
serveradmin => 'webmaster@openstack.org',
|
2012-04-24 11:02:23 -07:00
|
|
|
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 => '',
|
2012-03-06 13:37:46 +00:00
|
|
|
}
|
2012-02-28 11:37:20 -08:00
|
|
|
}
|
|
|
|
|
2011-09-08 13:17:57 -07:00
|
|
|
node "community.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443, 8099, 8080]
|
|
|
|
}
|
2011-09-08 13:17:57 -07:00
|
|
|
|
2011-09-14 21:20:17 +00:00
|
|
|
realize (
|
|
|
|
User::Virtual::Localuser["smaffulli"],
|
|
|
|
)
|
2011-09-08 13:17:57 -07:00
|
|
|
}
|
|
|
|
|
2012-06-06 20:54:34 +01:00
|
|
|
node "ci-puppetmaster.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
class { 'openstack_project::server':
|
2012-06-06 20:54:34 +01:00
|
|
|
iptables_public_tcp_ports => [8140]
|
|
|
|
}
|
|
|
|
cron { "updatepuppetmaster":
|
|
|
|
user => root,
|
|
|
|
minute => "*/15",
|
2012-07-20 12:40:11 -07:00
|
|
|
command => 'sleep $((RANDOM\%600)) && cd /opt/openstack-ci-puppet/production && /usr/bin/git pull -q',
|
2012-06-06 20:54:34 +01:00
|
|
|
environment => "PATH=/var/lib/gems/1.8/bin:/usr/bin:/bin:/usr/sbin:/sbin",
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2012-07-20 18:56:35 -07:00
|
|
|
$sysadmins = $openstack_project::sysadmins
|
|
|
|
|
2012-04-27 13:39:40 -07:00
|
|
|
node "lists.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
2012-04-27 13:39:40 -07:00
|
|
|
|
2012-07-20 18:56:35 -07:00
|
|
|
# Using openstack_project::template instead of openstack_project::server
|
2012-04-27 13:39:40 -07:00
|
|
|
# because the exim config on this machine is almost certainly
|
|
|
|
# going to be more complicated than normal.
|
2012-07-20 18:56:35 -07:00
|
|
|
class { 'openstack_project::template':
|
2012-05-04 19:34:31 +01:00
|
|
|
iptables_public_tcp_ports => [25, 80, 465]
|
2012-04-27 13:39:40 -07:00
|
|
|
}
|
|
|
|
|
2012-07-20 18:56:35 -07:00
|
|
|
$sysadmins += ['duncan@dreamhost.com']
|
2012-05-10 19:19:32 +00:00
|
|
|
class { 'exim':
|
2012-07-20 18:56:35 -07:00
|
|
|
sysadmin => $sysadmins,
|
2012-07-05 14:36:32 -04:00
|
|
|
mailman_domains => ['lists.openstack.org'],
|
2012-05-10 19:19:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
class { 'mailman':
|
2012-07-05 14:36:32 -04:00
|
|
|
mailman_host => 'lists.openstack.org'
|
2012-05-10 19:19:32 +00:00
|
|
|
}
|
2012-04-27 13:39:40 -07:00
|
|
|
|
|
|
|
realize (
|
|
|
|
User::Virtual::Localuser["oubiwann"],
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
node "docs.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
include openstack_project::server
|
2011-08-02 12:58:08 -07:00
|
|
|
include doc_server
|
|
|
|
}
|
|
|
|
|
2012-01-30 13:57:37 +00:00
|
|
|
node "paste.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80]
|
|
|
|
}
|
2012-01-30 13:57:37 +00:00
|
|
|
include lodgeit
|
|
|
|
lodgeit::site { "openstack":
|
|
|
|
port => "5000",
|
|
|
|
image => "header-bg2.png"
|
|
|
|
}
|
|
|
|
|
|
|
|
lodgeit::site { "drizzle":
|
|
|
|
port => "5001"
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2012-02-03 14:37:54 +00:00
|
|
|
node "planet.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-03-25 12:44:52 -07:00
|
|
|
iptables_public_tcp_ports => [80]
|
|
|
|
}
|
2012-02-03 14:37:54 +00:00
|
|
|
include planet
|
2012-03-09 15:59:44 +08:00
|
|
|
|
2012-02-03 14:37:54 +00:00
|
|
|
planet::site { "openstack":
|
|
|
|
git_url => "https://github.com/openstack/openstack-planet.git"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-04-26 18:26:28 +01:00
|
|
|
node "eavesdrop.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-04-15 16:06:41 +01:00
|
|
|
iptables_public_tcp_ports => [80]
|
|
|
|
}
|
|
|
|
include meetbot
|
|
|
|
|
|
|
|
meetbot::site { "openstack":
|
|
|
|
nick => "openstack",
|
2012-07-19 17:17:29 -07:00
|
|
|
nickpass => hiera('openstack_meetbot_password'),
|
2012-04-15 16:06:41 +01:00
|
|
|
network => "FreeNode",
|
|
|
|
server => "chat.us.freenode.net:7000",
|
2012-04-26 18:26:28 +01:00
|
|
|
url => "eavesdrop.openstack.org",
|
2012-04-15 16:06:41 +01:00
|
|
|
channels => "#openstack #openstack-dev #openstack-meeting",
|
|
|
|
use_ssl => "True"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-05-14 09:22:21 -04:00
|
|
|
node "pypi.openstack.org" {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
2012-06-04 09:24:07 -04:00
|
|
|
|
|
|
|
# include jenkins slave so that build deps are there for the pip download
|
|
|
|
class { 'jenkins_slave':
|
|
|
|
ssh_key => "",
|
|
|
|
user => false
|
|
|
|
}
|
|
|
|
|
2012-07-20 18:56:35 -07:00
|
|
|
class { 'openstack_project::server':
|
2012-05-14 09:22:21 -04:00
|
|
|
iptables_public_tcp_ports => [80]
|
|
|
|
}
|
2012-06-04 09:24:07 -04:00
|
|
|
|
2012-05-14 09:22:21 -04:00
|
|
|
class { "pypimirror":
|
|
|
|
base_url => "http://pypi.openstack.org",
|
2012-07-20 18:56:35 -07:00
|
|
|
projects => $openstack_project::project_list,
|
2012-05-14 09:22:21 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-06-06 20:27:31 +00:00
|
|
|
node 'etherpad.openstack.org' {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-06-06 20:27:31 +00:00
|
|
|
iptables_public_tcp_ports => [22, 80, 443]
|
|
|
|
}
|
|
|
|
|
2012-05-31 23:16:57 +00:00
|
|
|
include etherpad_lite
|
2012-07-22 19:27:39 -05:00
|
|
|
class { 'etherpad_lite::nginx':
|
|
|
|
etherpad_crt => hiera('etherpad_crt'),
|
|
|
|
etherpad_key => hiera('etherpad_key')
|
|
|
|
}
|
2012-07-19 17:17:29 -07:00
|
|
|
class { 'etherpad_lite::site':
|
|
|
|
database_password => hiera('etherpad_db_password'),
|
|
|
|
}
|
|
|
|
class { 'etherpad_lite::mysql':
|
|
|
|
database_password => hiera('etherpad_db_password'),
|
2012-05-31 23:16:57 +00:00
|
|
|
}
|
2012-06-04 21:49:48 +00:00
|
|
|
include etherpad_lite::backup
|
2012-05-31 23:16:57 +00:00
|
|
|
}
|
|
|
|
|
2012-07-16 15:29:28 -07:00
|
|
|
node 'wiki.openstack.org' {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::remove_cron
|
|
|
|
class { 'openstack_project::server':
|
2012-07-16 15:29:28 -07:00
|
|
|
iptables_public_tcp_ports => [80, 443]
|
|
|
|
}
|
|
|
|
|
|
|
|
realize (
|
|
|
|
User::Virtual::Localuser["rlane"],
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2012-03-15 19:17:39 -07:00
|
|
|
# A bare machine, but with a jenkins user
|
2012-03-15 10:30:38 -07:00
|
|
|
node /^.*\.template\.openstack\.org$/ {
|
2012-07-20 18:56:35 -07:00
|
|
|
class { 'openstack_project::template':
|
2012-03-28 10:31:51 -07:00
|
|
|
iptables_public_tcp_ports => []
|
|
|
|
}
|
2012-05-21 17:53:36 +00:00
|
|
|
class { 'jenkins_slave':
|
2012-07-20 18:56:35 -07:00
|
|
|
ssh_key => $openstack_project::jenkins_ssh_key,
|
2012-05-21 17:53:36 +00:00
|
|
|
sudo => true,
|
|
|
|
bare => true
|
|
|
|
}
|
2011-11-16 08:36:14 -08:00
|
|
|
}
|
|
|
|
|
2012-06-15 22:40:12 +00:00
|
|
|
# A backup machine. Don't run cron or puppet agent on it.
|
|
|
|
node /^ci-backup-.*\.openstack\.org$/ {
|
2012-07-20 18:56:35 -07:00
|
|
|
class { 'openstack_project::template':
|
2012-06-15 22:40:12 +00:00
|
|
|
iptables_public_tcp_ports => []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
#
|
|
|
|
# Jenkins slaves:
|
|
|
|
#
|
2012-07-03 14:28:41 -07:00
|
|
|
|
|
|
|
# Test cgroups and ulimits on precise8
|
|
|
|
node 'precise8.slave.openstack.org' {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::puppet_cron
|
|
|
|
include openstack_project::jenkins_slave
|
2012-07-03 14:28:41 -07:00
|
|
|
|
|
|
|
include ulimit
|
|
|
|
ulimit::conf { 'limit_jenkins_procs':
|
|
|
|
limit_domain => 'jenkins',
|
|
|
|
limit_type => 'hard',
|
|
|
|
limit_item => 'nproc',
|
|
|
|
limit_value => '256'
|
|
|
|
}
|
|
|
|
include jenkins_slave::cgroups
|
|
|
|
}
|
|
|
|
|
2012-06-07 11:00:44 -07:00
|
|
|
node /^.*\.slave\.openstack\.org$/ {
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::puppet_cron
|
|
|
|
include openstack_project::jenkins_slave
|
2012-01-23 15:16:06 -08:00
|
|
|
}
|
2012-03-25 12:44:52 -07:00
|
|
|
|
2012-05-28 10:41:13 -04:00
|
|
|
# bare-bones slaves spun up by jclouds. Specifically need to not set ssh
|
|
|
|
# login limits, because it screws up jclouds provisioning
|
|
|
|
node /^.*\.jclouds\.openstack\.org$/ {
|
|
|
|
|
2012-07-20 18:56:35 -07:00
|
|
|
include openstack_project::base
|
2012-05-28 10:41:13 -04:00
|
|
|
|
|
|
|
class { 'jenkins_slave':
|
|
|
|
ssh_key => "",
|
|
|
|
user => false
|
|
|
|
}
|
|
|
|
}
|