aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mirror
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@mageia.org>2011-01-18 18:21:44 +0000
committerNicolas Vigier <boklm@mageia.org>2011-01-18 18:21:44 +0000
commit190661a90103736dcdd528128481f98d55060e24 (patch)
tree709440810bc64c8ef52dcaa8cc66ac44cf1186bb /modules/mirror
parent93bd861c2be2883af5ad9b7c3476efc167383b53 (diff)
downloadpuppet-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/mirror')
-rw-r--r--modules/mirror/manifests/init.pp24
-rw-r--r--modules/mirror/templates/mirrordir12
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"
+