diff options
Diffstat (limited to 'modules/mirror')
| -rw-r--r-- | modules/mirror/manifests/base.pp | 15 | ||||
| -rw-r--r-- | modules/mirror/manifests/init.pp | 77 | ||||
| -rw-r--r-- | modules/mirror/manifests/mageia.pp | 7 | ||||
| -rw-r--r-- | modules/mirror/manifests/main.pp | 14 | ||||
| -rw-r--r-- | modules/mirror/manifests/mdv2010spring.pp | 7 | ||||
| -rw-r--r-- | modules/mirror/manifests/mirrordir.pp | 23 | ||||
| -rw-r--r-- | modules/mirror/templates/mirrordir | 9 | ||||
| -rw-r--r-- | modules/mirror/templates/update_timestamp | 2 |
8 files changed, 72 insertions, 82 deletions
diff --git a/modules/mirror/manifests/base.pp b/modules/mirror/manifests/base.pp new file mode 100644 index 00000000..db48f808 --- /dev/null +++ b/modules/mirror/manifests/base.pp @@ -0,0 +1,15 @@ +class mirror::base { + $locksdir = '/home/mirror/locks' + + file { $locksdir: + ensure => directory, + owner => 'mirror', + group => 'mirror', + } + + group { 'mirror': } + + user { 'mirror': + gid => 'mirror', + } +} diff --git a/modules/mirror/manifests/init.pp b/modules/mirror/manifests/init.pp index b9a245bb..bb89e1d0 100644 --- a/modules/mirror/manifests/init.pp +++ b/modules/mirror/manifests/init.pp @@ -1,76 +1 @@ -class mirror { - class base { - $bindir = '/usr/local/bin' - $locksdir = '/home/mirror/locks' - - file { "$locksdir": - ensure => directory, - owner => mirror, - group => mirror, - } - - group {"mirror": } - - user {"mirror": - comment => "System user use to run mirror scripts", - gid => mirror, - } - } - - define mirrordir ($remoteurl, $localdir, $rsync_options="-avH --delete") { - include base - $lockfile = "$locksdir/$name" - - file { "$localdir": - ensure => directory, - owner => mirror, - group => mirror, - } - - local_script { "mirror_$name": - content => template("mirror/mirrordir"), - } - - cron { "mirror_$name": - user => mirror, - minute => '*/10', - command => "$bindir/mirror_$name", - require => Local_script["mirror_$name"], - } - } - - # For main Mageia mirror - class main inherits base { - local_script { "update_timestamp": - content => template("mirror/update_timestamp") - } - - cron { mirror: - user => mirror, - minute => '*/10', - command => "/usr/local/bin/update_timestamp", - require => [Local_script["update_timestamp"], User['mirror']], - } - } - - class mageia inherits base { - mirrordir { "mageia": - remoteurl => "rsync://rsync.$domain/mageia", - localdir => '/distrib/mageia', - } - } - - class newrelease inherits base { - mirrordir { "newrelease": - remoteurl => "rsync://rsync.$domain/newrelease", - localdir => '/distrib/newrelease', - } - } - - class mdv2010spring inherits base { - mirrordir { "mdv2010.1": - remoteurl => "rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1", - localdir => '/distrib/mandriva/', - } - } -} +class mirror { } diff --git a/modules/mirror/manifests/mageia.pp b/modules/mirror/manifests/mageia.pp new file mode 100644 index 00000000..c14a09bb --- /dev/null +++ b/modules/mirror/manifests/mageia.pp @@ -0,0 +1,7 @@ +class mirror::mageia { + include mirror::base + mirrordir { 'mageia': + remoteurl => "rsync://rsync.${::domain}/mageia", + localdir => '/distrib/mageia', + } +} diff --git a/modules/mirror/manifests/main.pp b/modules/mirror/manifests/main.pp new file mode 100644 index 00000000..f368038d --- /dev/null +++ b/modules/mirror/manifests/main.pp @@ -0,0 +1,14 @@ +# For main Mageia mirror +class mirror::main { + include mirror::base + mga_common::local_script { 'update_timestamp': + content => template('mirror/update_timestamp') + } + + cron { 'mirror': + user => 'mirror', + minute => '*/10', + command => '/usr/local/bin/update_timestamp', + require => [Mga_common::Local_script['update_timestamp'], User['mirror']], + } +} diff --git a/modules/mirror/manifests/mdv2010spring.pp b/modules/mirror/manifests/mdv2010spring.pp new file mode 100644 index 00000000..51a67284 --- /dev/null +++ b/modules/mirror/manifests/mdv2010spring.pp @@ -0,0 +1,7 @@ +class mirror::mdv2010spring { + include mirror::base + mirrordir { 'mdv2010.1': + remoteurl => 'rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1', + localdir => '/distrib/mandriva/', + } +} diff --git a/modules/mirror/manifests/mirrordir.pp b/modules/mirror/manifests/mirrordir.pp new file mode 100644 index 00000000..2100bc6c --- /dev/null +++ b/modules/mirror/manifests/mirrordir.pp @@ -0,0 +1,23 @@ +define mirror::mirrordir ($remoteurl, + $localdir, + $rsync_options='-avH --delete') { + include mirror::base + $lockfile = "${mirror::base::locksdir}/${name}" + + file { $localdir: + ensure => directory, + owner => 'mirror', + group => 'mirror', + } + + mga_common::local_script { "mirror_${name}": + content => template('mirror/mirrordir'), + } + + cron { "mirror_${name}": + user => mirror, + minute => '*/10', + command => "/usr/local/bin/mirror_${name}", + require => Mga_common::Local_script["mirror_${name}"], + } +} diff --git a/modules/mirror/templates/mirrordir b/modules/mirror/templates/mirrordir index 53655aa0..9cf09650 100644 --- a/modules/mirror/templates/mirrordir +++ b/modules/mirror/templates/mirrordir @@ -1,9 +1,9 @@ #!/bin/sh -remoteurl="<%= remoteurl%>" -localdir="<%= localdir %>" -rsync_options="<%= rsync_options %>" -lockfile="<%= lockfile %>" +remoteurl="<%= @remoteurl%>" +localdir="<%= @localdir %>" +rsync_options="<%= @rsync_options %>" +lockfile="<%= @lockfile %>" if [ -f "$lockfile" ]; then # show error message when run from command line @@ -13,4 +13,3 @@ fi echo "sync in progress since $(date)" > "$lockfile" /usr/bin/rsync $rsync_options "$remoteurl" "$localdir" rm -f "$lockfile" - diff --git a/modules/mirror/templates/update_timestamp b/modules/mirror/templates/update_timestamp index a037d10d..1f7711c6 100644 --- a/modules/mirror/templates/update_timestamp +++ b/modules/mirror/templates/update_timestamp @@ -2,4 +2,4 @@ # $id$ -date +%s%n%c > /distrib/mirror/mageia_timestamp +LC_ALL=C.UTF-8 date -u '+%s%n%c %Z' > /distrib/mirror/mageia_timestamp |
