system-config/modules/openstack_project/manifests/static.pp
Jeremy Stanley ba9ea03ade Fix static.o.o log compression cron job.
* modules/openstack_project/manifests/static.pp: The gziplogs cron
job was erroneously configured to run ONCE EVERY MINUTE in any hour
divisible by 6 because the minute parameter was left unspecified and
Puppet was defaulting it to "*". This was not apparent until after
the cleanup and resizing work on the server sped this job up to the
point where it no longer took more than an hour to complete. This
change sets it to "0" instead, so it runs at the top of any hour
divisible by 6. Also, exclude /srv/static/logs/robots.txt while
we're at it, since it was causing a lot of cronspam and shouldn't
have been compressed anyway.

Change-Id: I7713625dbd2654b8a42b61bd69c3080c77f613c2
Reviewed-on: https://review.openstack.org/21521
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2013-02-09 19:40:38 +00:00

131 lines
3.1 KiB
Puppet

# == Class: openstack_project::static
#
class openstack_project::static (
$sysadmins = []
) {
class { 'openstack_project::server':
iptables_public_tcp_ports => [22, 80, 443],
sysadmins => $sysadmins,
}
include openstack_project
class { 'jenkins::jenkinsuser':
ssh_key => $openstack_project::jenkins_ssh_key,
}
include apache
a2mod { 'rewrite':
ensure => present,
}
a2mod { 'proxy':
ensure => present,
}
a2mod { 'proxy_http':
ensure => present,
}
apache::vhost { 'tarballs.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/tarballs',
require => File['/srv/static/tarballs'],
}
apache::vhost { 'ci.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/ci',
require => File['/srv/static/ci'],
}
apache::vhost { 'logs.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/logs',
require => File['/srv/static/logs'],
template => 'openstack_project/logs.vhost.erb',
}
apache::vhost { 'docs-draft.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/docs-draft',
require => File['/srv/static/docs-draft'],
}
apache::vhost { 'status.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/status',
template => 'openstack_project/status.vhost.erb',
require => File['/srv/static/status'],
}
file { '/srv/static':
ensure => directory,
}
file { '/srv/static/tarballs':
ensure => directory,
owner => 'jenkins',
group => 'jenkins',
require => User['jenkins'],
}
file { '/srv/static/ci':
ensure => directory,
owner => 'jenkins',
group => 'jenkins',
require => User['jenkins'],
}
file { '/srv/static/logs':
ensure => directory,
owner => 'jenkins',
group => 'jenkins',
require => User['jenkins'],
}
file { '/srv/static/logs/robots.txt':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
source => 'puppet:///modules/openstack_project/disallow_robots.txt',
require => File['/srv/static/logs'],
}
file { '/srv/static/docs-draft':
ensure => directory,
}
file { '/srv/static/docs-draft/robots.txt':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
source => 'puppet:///modules/openstack_project/disallow_robots.txt',
require => File['/srv/static/docs-draft'],
}
file { '/srv/static/status':
ensure => directory,
}
file { '/srv/static/status/index.html':
ensure => present,
source => 'puppet:///modules/openstack_project/status/index.html',
require => File['/srv/static/status'],
}
cron { 'gziplogs':
user => 'root',
minute => '0',
hour => '*/6',
command => 'sleep $((RANDOM\%600)) && flock -n /var/run/gziplogs.lock find /srv/static/logs/ -type f -not -name robots.txt \( -name \*.txt -or -name \*.html \) -exec gzip \{\} \;',
environment => 'PATH=/var/lib/gems/1.8/bin:/usr/bin:/bin:/usr/sbin:/sbin',
}
}