/[adm]/puppet/modules/mirror/manifests/init.pp
ViewVC logotype

Diff of /puppet/modules/mirror/manifests/init.pp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2201 by misc, Sun Jan 8 01:17:55 2012 UTC revision 2202 by misc, Sun Jan 8 20:25:04 2012 UTC
# Line 1  Line 1 
1  class mirror {  class mirror {
2      class base {      class base {
3          $bindir = '/usr/local/bin'          $locksdir = '/home/mirror/locks'
4          $locksdir = '/home/mirror/locks'  
5          file { "$locksdir":          file { "$locksdir":
6              ensure => directory,              ensure => directory,
7              owner => mirror,              owner => mirror,
8              group => mirror,              group => mirror,
9              mode => 755          }
10          }  
11            group {"mirror": }
12          group {"mirror":  
13              ensure => present,          user {"mirror":
14          }              comment => "System user use to run mirror scripts",
15                gid => mirror,
16          user {"mirror":          }
             ensure => present,  
                    comment => "System user use to run mirror scripts",  
                    managehome => true,  
                    gid => mirror,  
                    shell => "/bin/bash",  
         }  
17      }      }
18    
19      define mirrordir ($remoteurl, $localdir, $rsync_options="-avH --delete") {      define mirrordir ($remoteurl, $localdir, $rsync_options="-avH --delete") {
20          include base          include base
21          $lockfile = "$locksdir/$name"          $lockfile = "$locksdir/$name"
22          file { "$localdir":  
23              ensure => directory,          file { "$localdir":
24                ensure => directory,
25              owner => mirror,              owner => mirror,
26              group => mirror,              group => mirror,
27              mode => 755,          }
28          }  
29          file { "mirror_$name":          local_script { "mirror_$name":
30              path => "$bindir/mirror_$name",              content => template("mirror/mirrordir"),
31              mode => 755,          }
32              content => template("mirror/mirrordir"),  
33          }          cron { "mirror_$name":
34                user => mirror,
35          cron { "mirror_$name":              minute => '*/10',
36              user => mirror,              command => "$bindir/mirror_$name",
37              minute => '*/10',              require => File["mirror_$name"],
38              command => "$bindir/mirror_$name",          }
             require => File["mirror_$name"],  
         }  
39      }      }
40    
41      # For main Mageia mirror      # For main Mageia mirror
42      class main inherits base {      class main inherits base {
43          file { "update_timestamp":          local_script { "update_timestamp":
44              path => "$bindir/update_timestamp",              content => template("mirror/update_timestamp")
45              mode => 755,          }
46              content => template("mirror/update_timestamp")  
47          }          cron { mirror:
48                user => mirror,
49          cron { mirror:              minute => '*/10',
50              user => mirror,              command => "/usr/local/bin/update_timestamp",
51              minute => '*/10',              require => [File["update_timestamp"], User['mirror']],
52              command => "$bindir/update_timestamp",          }
             require => [File["update_timestamp"], User['mirror']],  
         }  
53      }      }
54    
55      class mageia inherits base {      class mageia inherits base {
56          mirrordir { "mageia":          mirrordir { "mageia":
57              remoteurl => "rsync://rsync.$domain/mageia",              remoteurl => "rsync://rsync.$domain/mageia",
58              localdir => '/distrib/mageia',              localdir => '/distrib/mageia',
59          }          }
60      }      }
61    
62      class newrelease inherits base {      class newrelease inherits base {
63          mirrordir { "newrelease":          mirrordir { "newrelease":
64              remoteurl => "rsync://rsync.$domain/newrelease",              remoteurl => "rsync://rsync.$domain/newrelease",
65              localdir => '/distrib/newrelease',              localdir => '/distrib/newrelease',
66          }              }
67      }      }
68    
69      class mdv2010spring inherits base {      class mdv2010spring inherits base {
70          mirrordir { "mdv2010.1":          mirrordir { "mdv2010.1":
71              remoteurl => "rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1",              remoteurl => "rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1",
72              localdir => '/distrib/mandriva/',              localdir => '/distrib/mandriva/',
73          }          }
74      }      }
75  }  }

Legend:
Removed from v.2201  
changed lines
  Added in v.2202

  ViewVC Help
Powered by ViewVC 1.1.28