feat: add zfs modules (#225)
- add zfs_core module to puppetfile (provides zfs/zpool provider) - add module to manage zfs Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/225
This commit was merged in pull request #225.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# manage zfs services
|
||||
class zfs::service {
|
||||
|
||||
if $zfs::service_manage {
|
||||
|
||||
exec { 'modprobe zfs':
|
||||
path => $facts['path'],
|
||||
unless => 'grep -q "^zfs " /proc/modules',
|
||||
}
|
||||
|
||||
case $facts['service_provider'] {
|
||||
'systemd': {
|
||||
$cache_ensure = str2bool($facts['zfs_zpool_cache_present']) ? {
|
||||
true => 'running',
|
||||
default => 'stopped',
|
||||
}
|
||||
|
||||
$scan_ensure = str2bool($facts['zfs_zpool_cache_present']) ? {
|
||||
true => 'stopped',
|
||||
default => 'running',
|
||||
}
|
||||
|
||||
service { 'zfs-import-cache':
|
||||
ensure => $cache_ensure,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
require => Exec['modprobe zfs'],
|
||||
before => Service['zfs-mount'],
|
||||
}
|
||||
|
||||
service { 'zfs-import-scan':
|
||||
ensure => $scan_ensure,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
require => Exec['modprobe zfs'],
|
||||
before => Service['zfs-mount'],
|
||||
}
|
||||
}
|
||||
default: {
|
||||
|
||||
case $facts['os']['family'] {
|
||||
'RedHat': {
|
||||
service { 'zfs-import':
|
||||
ensure => running,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
require => Exec['modprobe zfs'],
|
||||
before => Service['zfs-mount'],
|
||||
}
|
||||
}
|
||||
'Debian': {
|
||||
$import_ensure = str2bool($facts['zfs_zpool_cache_present']) ? {
|
||||
true => 'running',
|
||||
default => 'stopped',
|
||||
}
|
||||
|
||||
service { 'zpool-import':
|
||||
ensure => $import_ensure,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
require => Exec['modprobe zfs'],
|
||||
}
|
||||
}
|
||||
default: {
|
||||
# noop
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
service { 'zfs-mount':
|
||||
ensure => running,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
before => Service['zfs-share'],
|
||||
}
|
||||
|
||||
service { 'zfs-share':
|
||||
ensure => running,
|
||||
enable => true,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user