Puppet Class: profile::wmcs::nfs::standalone
- Defined in:
- modules/profile/manifests/wmcs/nfs/standalone.pp
Overview
SPDX-License-Identifier: Apache-2.0 Class: profile::wmcs::nfs::standalone
Sets up an Openstack instance-based NFS server
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 |
# File 'modules/profile/manifests/wmcs/nfs/standalone.pp', line 6
class profile::wmcs::nfs::standalone(
Boolean $cinder_attached = lookup('profile::wmcs::nfs::standalone::cinder_attached'),
Boolean $host_scratch = lookup('profile::wmcs::nfs::standalone::host_scratch', {'default_value' => false}),
Array[String] $volumes = lookup('profile::wmcs::nfs::standalone::volumes'),
) {
require profile::openstack::eqiad1::observerenv
motd::script { 'nfs-standalone-banner':
ensure => present,
source => 'puppet:///modules/profile/wmcs/nfs/standalone/motd.sh',
}
class {'cloudnfs': }
# The prefix used to create an nfs server has a -count added, so truncating at
# the last dash should get us the original host prefix used for the service name
$host_prefix = regsubst($::hostname, '-[^-]*$', '')
$nfs_service_name = "${host_prefix}.svc.${::wmcs_project}.${::wmcs_deployment}.wikimedia.cloud"
if ($cinder_attached) {
$nfs_service_ip = ipresolve($nfs_service_name, 4)
interface::ip { 'nfs-service-ip':
ensure => present,
address => $nfs_service_ip,
interface => $facts['interface_primary'],
}
$server_running = true
} else {
$server_running = false
}
sysctl::parameters { 'cloudstore base':
values => {
# Increase TCP max buffer size
'net.core.rmem_max' => 67108864,
'net.core.wmem_max' => 67108864,
# Increase Linux auto-tuning TCP buffer limits
# Values represent min, default, & max num. of bytes to use.
'net.ipv4.tcp_rmem' => [ 4096, 87380, 33554432 ],
'net.ipv4.tcp_wmem' => [ 4096, 65536, 33554432 ],
},
priority => 70,
}
class {'cloudnfs::fileserver::exports':
server_vols => $volumes,
cinder_attached => $cinder_attached,
host_scratch => $host_scratch,
}
# state manually managed
service { 'nfs-server':
ensure => $server_running;
}
file {'/usr/local/sbin/logcleanup':
source => 'puppet:///modules/cloudnfs/logcleanup.py',
mode => '0744',
owner => 'root',
group => 'root',
}
file {'/etc/logcleanup-config.yaml':
source => 'puppet:///modules/profile/wmcs/nfs/primary/logcleanup-config.yaml',
mode => '0644',
owner => 'root',
group => 'root',
}
}
|