Puppet Class: cern::afs

Defined in:
manifests/afs.pp

Overview

Manage permissions and setup of AFS in the target machine.

Examples

To have AFS setup in the machine, simply include this class:

include cern::afs

To add access to the machine using AFS tokens to a list of users, do:

cern::afs::user { ["user1", "user2"]: }

Authors

CERN IT/GT/DMS <it-dep-gt-dms@cern.ch>



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'manifests/afs.pp', line 15

class cern::afs {

  package { ["openafs", "openafs-client", "openafs-krb5", "useraddcern"]: 
    require => Yumrepo["slc5-updates"], 
  }

  file { "afs_sysconfig":
    name  => "/etc/sysconfig/afs",
    owner => "root",
    group => "root",
    mode  => "0755",
  }

  file { "krb5_config":
    name    => "/etc/krb5.conf",
    owner   => "root",
    group   => "root",
    mode    => "0644",
    content => template("cern/krb5.conf"),
  }

  service { "afs":
    enable     => true,
    ensure     => running,
    hasrestart => true,
    subscribe  => File["afs_sysconfig", "krb5_config"],
    require    => [
      Package["openafs", "openafs-client", "openafs-krb5"], 
      File["afs_sysconfig", "krb5_config"],
    ]
  }

  define user {
    exec { "afsuser_$name":
      path    => "/usr/bin:/usr/sbin:/bin:/sbin",
      command => "useraddcern $name",
      unless  => "grep $name /etc/passwd",
      require => Package["useraddcern"],
    }
  }
}