
Packages required to use this module may also be declared in downstream manifests. This patch adds necessary if conditions, to ensure these do not cause conflicts. Change-Id: I3c1b6cbd5743a8331752bfe4dcb33267ddcf840d
150 lines
3.1 KiB
Puppet
150 lines
3.1 KiB
Puppet
# Class: openafs::client
|
|
|
|
class openafs::client (
|
|
$realm,
|
|
$cell,
|
|
$kdcs = [$::fqdn],
|
|
$admin_server = [$::fdqn],
|
|
$cache_size = 500000,
|
|
) {
|
|
|
|
include ::ntp
|
|
class { '::kerberos::client':
|
|
realm => $realm,
|
|
kdcs => $kdcs,
|
|
admin_server => $admin_server,
|
|
}
|
|
|
|
$packages = [
|
|
'openafs-client',
|
|
'openafs-krb5',
|
|
'kstart',
|
|
]
|
|
package { $packages:
|
|
ensure => present,
|
|
}
|
|
|
|
if ($::osfamily == 'RedHat') {
|
|
$openafs_path = '/usr/vice/etc'
|
|
|
|
if ! defined(Package['kernel-devel']) {
|
|
package { 'kernel-devel':
|
|
ensure => present,
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
}
|
|
|
|
if ! defined(Package['dkms']) {
|
|
package { 'dkms':
|
|
ensure => present,
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
}
|
|
|
|
if ! defined(Package['gcc']) {
|
|
package { 'gcc':
|
|
ensure => present,
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
}
|
|
|
|
package { 'dkms-openafs':
|
|
ensure => present,
|
|
require => [
|
|
Package['kernel-devel'],
|
|
Package['gcc'],
|
|
Package['dkms'],
|
|
],
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
|
|
file { '/etc/pki/rpm-gpg/RPM-GPG-KEY-OPENAFS':
|
|
ensure => present,
|
|
replace => true,
|
|
source => 'puppet:///modules/openafs/RPM-GPG-KEY-OPENAFS',
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
|
|
file { '/etc/yum.repos.d/openafs-rhel.repo':
|
|
ensure => present,
|
|
replace => true,
|
|
source => 'puppet:///modules/openafs/openafs-rhel.repo',
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
|
|
file { '/var/cache/openafs':
|
|
ensure => directory,
|
|
}
|
|
|
|
} else {
|
|
$openafs_path = '/etc/openafs'
|
|
|
|
$dkms_packages = [
|
|
'linux-headers-generic',
|
|
]
|
|
|
|
package { $dkms_packages:
|
|
ensure => present,
|
|
before => [
|
|
Package['openafs-client'],
|
|
Package['openafs-krb5'],
|
|
],
|
|
}
|
|
}
|
|
|
|
file { "${openafs_path}/afs.conf.client":
|
|
ensure => present,
|
|
replace => true,
|
|
source => 'puppet:///modules/openafs/afs.conf.client',
|
|
require => Package['openafs-client'],
|
|
}
|
|
|
|
file { "${openafs_path}/CellServDB":
|
|
ensure => present,
|
|
replace => true,
|
|
source => 'puppet:///modules/openafs/CellServDB',
|
|
require => Package['openafs-client'],
|
|
}
|
|
|
|
file { "${openafs_path}/ThisCell":
|
|
ensure => present,
|
|
replace => true,
|
|
content => template('openafs/ThisCell.erb'),
|
|
require => Package['openafs-client'],
|
|
}
|
|
|
|
file { "${openafs_path}/cacheinfo":
|
|
ensure => present,
|
|
replace => true,
|
|
content => template('openafs/cacheinfo.erb'),
|
|
require => Package['openafs-client'],
|
|
}
|
|
|
|
service { 'openafs-client':
|
|
ensure => running,
|
|
hasstatus => false,
|
|
pattern => '/sbin/afsd',
|
|
require => [
|
|
File["${openafs_path}/CellServDB"],
|
|
],
|
|
}
|
|
}
|