diff options
author | Nicolas Vigier <boklm@mageia.org> | 2011-01-18 18:21:44 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2011-01-18 18:21:44 +0000 |
commit | 190661a90103736dcdd528128481f98d55060e24 (patch) | |
tree | 709440810bc64c8ef52dcaa8cc66ac44cf1186bb /modules | |
parent | 93bd861c2be2883af5ad9b7c3476efc167383b53 (diff) | |
download | puppet-190661a90103736dcdd528128481f98d55060e24.tar puppet-190661a90103736dcdd528128481f98d55060e24.tar.gz puppet-190661a90103736dcdd528128481f98d55060e24.tar.bz2 puppet-190661a90103736dcdd528128481f98d55060e24.tar.xz puppet-190661a90103736dcdd528128481f98d55060e24.zip |
add mirrordir script and mirrorbootstrap class
Diffstat (limited to 'modules')
-rw-r--r-- | modules/mirror/manifests/init.pp | 24 | ||||
-rw-r--r-- | modules/mirror/templates/mirrordir | 12 |
2 files changed, 35 insertions, 1 deletions
diff --git a/modules/mirror/manifests/init.pp b/modules/mirror/manifests/init.pp index 8d790466..a5f91968 100644 --- a/modules/mirror/manifests/init.pp +++ b/modules/mirror/manifests/init.pp @@ -1,6 +1,7 @@ class mirror { class base { $bindir = '/home/mirror/bin' + $locksdir = '/home/mirror/locks' file { "$bindir": ensure => directory, owner => mirror, @@ -8,6 +9,13 @@ class mirror { mode => 755 } + file { "$locksdir": + ensure => directory, + owner => mirror, + group => mirror, + mode => 755 + } + group {"mirror": ensure => present, } @@ -21,8 +29,15 @@ class mirror { } } - define mirrordir ($remotehost, $remotedir, $localdir) { + define mirrordir ($remoteurl, $localdir, $rsync_options="-avH --delete") { include base + lockfile="$locksdir/$name" + file { "$localdir": + ensure => directory, + owner => mirror, + group => mirror, + mode => 755, + } file { "mirror_$name": path => "$bindir/$name", ensure => present, @@ -59,4 +74,11 @@ class mirror { require => File["update_timestamp"], } } + + class mirrorbootstrap inherits base { + mirrordir { "bootstrap": + remoteurl => 'rsync://valstar.mageia.org/bootstrap', + localdir => '/distrib/bootstrap', + } + } } diff --git a/modules/mirror/templates/mirrordir b/modules/mirror/templates/mirrordir new file mode 100644 index 00000000..85b54389 --- /dev/null +++ b/modules/mirror/templates/mirrordir @@ -0,0 +1,12 @@ +#!/bin/sh + +remoteurl="<%= remoteurl%>" +localdir="<%= localdir %>" +rsync_options="<%= rsync_options %>" +lockfile="<%= lockfile %>" + +test -f "$lockfile" && exit +touch "$lockfile" +/usr/bin/rsync $rsync_options "$remoteurl" "$localdir" +rm -f "$lockfile" + |