system-config/modules/openstack_project/manifests/zuul_prod.pp
James E. Blair 2866945db2 Have Zuul replicate to git.o.o
Change-Id: I750e8ea75181dacb10275a38fa702ed1edb56d4c
2014-01-08 15:52:00 +08:00

75 lines
2.3 KiB
Puppet

# == Class: openstack_project::zuul_prod
#
class openstack_project::zuul_prod(
$vhost_name = $::fqdn,
$gerrit_server = '',
$gerrit_user = '',
$zuul_ssh_private_key = '',
$url_pattern = '',
$zuul_url = '',
$sysadmins = [],
$statsd_host = '',
$gearman_workers = [],
$replication_targets = []
) {
# Turn a list of hostnames into a list of iptables rules
$iptables_rules = regsubst ($gearman_workers, '^(.*)$', '-m state --state NEW -m tcp -p tcp --dport 4730 -s \1 -j ACCEPT')
class { 'openstack_project::server':
iptables_public_tcp_ports => [80],
iptables_rules6 => $iptables_rules,
iptables_rules4 => $iptables_rules,
sysadmins => $sysadmins,
}
class { '::zuul':
vhost_name => $vhost_name,
gerrit_server => $gerrit_server,
gerrit_user => $gerrit_user,
zuul_ssh_private_key => $zuul_ssh_private_key,
url_pattern => $url_pattern,
zuul_url => $zuul_url,
push_change_refs => false,
job_name_in_report => true,
status_url => 'http://status.openstack.org/zuul/',
statsd_host => $statsd_host,
replication_targets => $replication_targets,
}
file { '/etc/zuul/layout.yaml':
ensure => present,
source => 'puppet:///modules/openstack_project/zuul/layout.yaml',
notify => Exec['zuul-reload'],
}
file { '/etc/zuul/openstack_functions.py':
ensure => present,
source => 'puppet:///modules/openstack_project/zuul/openstack_functions.py',
notify => Exec['zuul-reload'],
}
file { '/etc/zuul/logging.conf':
ensure => present,
source => 'puppet:///modules/openstack_project/zuul/logging.conf',
notify => Exec['zuul-reload'],
}
file { '/etc/zuul/gearman-logging.conf':
ensure => present,
source => 'puppet:///modules/openstack_project/zuul/gearman-logging.conf',
notify => Exec['zuul-reload'],
}
class { '::recheckwatch':
gerrit_server => $gerrit_server,
gerrit_user => $gerrit_user,
recheckwatch_ssh_private_key => $zuul_ssh_private_key,
}
file { '/var/lib/recheckwatch/scoreboard.html':
ensure => present,
source => 'puppet:///modules/openstack_project/zuul/scoreboard.html',
require => File['/var/lib/recheckwatch'],
}
}