system-config/modules/pypimirror/manifests/init.pp
James E. Blair 186ee20ab3 Remove circular pip dependency in pypi mirror.
Instead, create a dependency in the script that requires pip
so that it's clear why pip is included.

Change-Id: I063e622836d6a0c62cc77d8527bef3cf93657648
Reviewed-on: https://review.openstack.org/15044
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-10-31 09:30:15 +00:00

116 lines
2.7 KiB
Puppet

class pypimirror(
$vhost_name = $::fqdn,
$log_filename = '/var/log/pypimirror.log',
$mirror_file_path = '/var/lib/pypimirror',
$pip_download = '/var/lib/pip-download',
$pip_cache = '/var/cache/pip',
$git_source = 'https://github.com',
$projects = [] )
{
include apache
include pip
include remove_nginx
package { 'python-yaml':
ensure => 'present'
}
file { '/usr/local/mirror_scripts':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
file { $pip_download:
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
file { $pip_cache:
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
}
file { '/etc/openstackci':
ensure => directory,
owner => 'root',
}
file { '/etc/openstackci/projects.yaml':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
source => 'puppet:///openstack_project/review.projects.yaml',
replace => true,
}
file { '/usr/local/mirror_scripts/run-mirror.sh':
ensure => present,
mode => '0755',
owner => 'root',
group => 'root',
content => template('pypimirror/run-mirror.sh.erb'),
require => [File['/usr/local/mirror_scripts'],
Class[pip]],
}
file { '/usr/local/mirror_scripts/run_mirror.py':
ensure => present,
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/pypimirror/run_mirror.py',
require => File['/usr/local/mirror_scripts'],
}
file { '/usr/local/mirror_scripts/pull-repo.sh':
ensure => present,
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/pypimirror/pull-repo.sh',
require => File['/usr/local/mirror_scripts'],
}
file { '/usr/local/mirror_scripts/process_cache.py':
ensure => present,
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/pypimirror/process_cache.py',
require => File['/usr/local/mirror_scripts'],
}
# Add cron job to update the mirror
cron { 'update_mirror':
user => 'root',
minute => '0',
command => '/usr/local/mirror_scripts/run-mirror.sh',
require => File['/usr/local/mirror_scripts/run-mirror.sh'],
}
# Rotate the mirror log file
include logrotate
logrotate::file { 'pypimirror':
log => $log_filename,
options => ['compress', 'delaycompress', 'missingok', 'rotate 7',
'daily', 'notifempty'],
require => Cron['update_mirror'],
}
apache::vhost { $vhost_name:
port => 80,
docroot => $mirror_file_path,
priority => 50,
}
}