f40847dd78
Killed trailing whitespace in the puppet repo files using `sed -r 's/\s+$//'`. Skip binary files and html templates for lodgeit and mailman. Change-Id: Ib43493161d8f0e8fae1426b22fb1737832ca14cd Reviewed-on: https://review.openstack.org/12969 Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com> Approved: James E. Blair <corvus@inaugust.com> Reviewed-by: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
119 lines
2.7 KiB
Puppet
119 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'
|
|
}
|
|
|
|
package { 'pip':
|
|
ensure => present,
|
|
provider => 'pip',
|
|
require => Class[pip]
|
|
}
|
|
|
|
file { '/usr/local/mirror_scripts':
|
|
ensure => 'directory',
|
|
mode => 755,
|
|
owner => 'root',
|
|
group => 'root',
|
|
}
|
|
|
|
file { $pip_download:
|
|
ensure => 'directory',
|
|
mode => 755,
|
|
owner => 'root',
|
|
group => 'root',
|
|
}
|
|
|
|
file { $pip_cache:
|
|
ensure => 'directory',
|
|
mode => 755,
|
|
owner => 'root',
|
|
group => 'root',
|
|
}
|
|
|
|
file { '/etc/openstackci':
|
|
ensure => "directory",
|
|
owner => "root",
|
|
}
|
|
|
|
file { '/etc/openstackci/projects.yaml':
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => 444,
|
|
ensure => 'present',
|
|
source => 'puppet:///openstack_project/review.projects.yaml',
|
|
replace => true,
|
|
}
|
|
|
|
file { '/usr/local/mirror_scripts/run-mirror.sh':
|
|
ensure => present,
|
|
mode => 755,
|
|
owner => 'root',
|
|
group => 'root',
|
|
content => template('pypimirror/run-mirror.sh.erb'),
|
|
require => File['/usr/local/mirror_scripts'],
|
|
}
|
|
|
|
file { '/usr/local/mirror_scripts/run_mirror.py':
|
|
ensure => present,
|
|
mode => 755,
|
|
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 => 755,
|
|
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 => 755,
|
|
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,
|
|
}
|
|
}
|