From 190661a90103736dcdd528128481f98d55060e24 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Tue, 18 Jan 2011 18:21:44 +0000 Subject: add mirrordir script and mirrorbootstrap class --- modules/mirror/manifests/init.pp | 24 +++++++++++++++++++++++- modules/mirror/templates/mirrordir | 12 ++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 modules/mirror/templates/mirrordir 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" + -- cgit v1.2.1