-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathparams.pp
95 lines (87 loc) · 3 KB
/
params.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File:: <tt>nfs-params.pp</tt>
# Author:: Sebastien Varrette (Sebastien.Varrette@uni.lu)
# Copyright:: Copyright (c) 2011 Sebastien Varrette
# License:: GPL v3
#
# ------------------------------------------------------------------------------
# = Class: nfs::params
#
# In this class are defined as variables values that are used in other
# nfs classes.
# This class should be included, where necessary, and eventually be enhanced
# with support for more OS
#
# == Warnings
#
# /!\ Always respect the style guide available
# here[http://docs.puppetlabs.com/guides/style_guide]
#
# The usage of a dedicated param classe is advised to better deal with
# parametrized classes, see
# http://docs.puppetlabs.com/guides/parameterized_classes.html
#
# [Remember: No empty lines between comments and class definition]
#
class nfs::params {
######## DEFAULTS FOR VARIABLES USERS CAN SET ##########################
# (Here are set the defaults, provide your custom variables externally)
# (The default used is in the line with '')
###########################################
# ensure the presence (or absence) of nfs
$ensure = 'present'
$nb_servers = '8'
$optimization = 'absent'
#### MODULE INTERNAL VARIABLES #########
# (Modify to adapt to unsupported OSes)
#######################################
# Client/server packages
$client_packagename = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => 'nfs-common',
default => 'nfs-utils'
}
$server_packagename = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => 'nfs-kernel-server',
default => 'nfs-utils'
}
$servicename = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => 'nfs-kernel-server',
/(?i-mx:centos|fedora|redhat|rocky)/ => $facts['os']['release']['major'] ? {
'5' => 'nfs',
'6' => 'nfs',
'7' => 'nfs-server',
default => 'nfs-server'
},
default => 'nfs'
}
# used for pattern in a service ressource
$processname = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => 'nfsd',
default => 'nfsd'
}
$hasstatus = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => false,
/(?i-mx:centos|fedora|redhat|rocky)/ => true,
default => true,
}
$hasrestart = $facts['os']['name'] ? {
default => true,
}
# NFS exports file
$exportsfile = $facts['os']['name'] ? {
default => '/etc/exports',
}
$exportsfile_mode = $facts['os']['name'] ? {
default => '0644',
}
$exportsfile_owner = $facts['os']['name'] ? {
default => 'root',
}
$exportsfile_group = $facts['os']['name'] ? {
default => 'root',
}
# NFS init script file
$initconfigfile = $facts['os']['name'] ? {
/(?i-mx:ubuntu|debian)/ => '/etc/default/nfs-kernel-server',
default => '/etc/sysconfig/nfs',
}
}