Add helpers to execute manage_projects

Manage_projects is run in two different ways:
one in a cronjob, one due to subscription. Create
helper classes to isolate that behaviour, to move
logic from system-config.

Change-Id: I4132646446dfe575c333b981aea9a7778c13bcf0
This commit is contained in:
Yolanda Robla 2015-04-08 11:40:18 +02:00
parent f6e165e87b
commit e331c50cec
2 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,34 @@
# == Class: jeepyb::fetch_remotes
class jeepyb::fetch_remotes(
$ensure = present,
$user = 'gerrit2',
$minute = '*/30',
$logfile = '/var/log/jeepyb_gerritfetchremotes.log',
$log_options = [
'compress',
'missingok',
'rotate 30',
'daily',
'notifempty',
'copytruncate',
],
) {
validate_array($log_options)
include jeepyb
cron { 'jeepyb_gerritfetchremotes':
ensure => $ensure,
user => $user,
minute => $minute,
command => "sleep $((RANDOM\%60+90)) && /usr/local/bin/manage-projects -v >> ${logfile} 2>&1",
}
include logrotate
logrotate::file { $logfile:
log => $logfile,
options => $log_options,
require => Cron['jeepyb_gerritfetchremotes'],
}
}

View File

@ -0,0 +1,32 @@
# == Class: jeepyb::manage_projects
class jeepyb::manage_projects(
$timeout = 900, # 15 minutes
$logfile = '/var/log/manage_projects.log',
$log_options = [
'compress',
'missingok',
'rotate 30',
'daily',
'notifempty',
'copytruncate',
],
) {
validate_array($log_options)
include jeepyb
exec { 'jeepyb_manage_projects':
command => "/usr/local/bin/manage-projects -v >> ${logfile} 2>&1",
timeout => $timeout, # 15 minutes
refreshonly => true,
logoutput => true,
}
include logrotate
logrotate::file { $logfile:
log => $logfile,
options => $log_options,
require => Exec['jeepyb_manage_projects'],
}
}