X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fnfs-server%2Fmanifests%2Finit.pp;h=7021ef330589ccfe9f7a85898633a883ae033fe9;hb=47f1649e4e6521ac0b80ec74960d0f032da497e6;hp=586bcb53030f864aa95487355c52661a8dc421b1;hpb=86b076a671944fa76ee3fe291be16a93982798e0;p=mirror%2Fdsa-puppet.git diff --git a/modules/nfs-server/manifests/init.pp b/modules/nfs-server/manifests/init.pp index 586bcb530..7021ef330 100644 --- a/modules/nfs-server/manifests/init.pp +++ b/modules/nfs-server/manifests/init.pp @@ -1,31 +1,75 @@ class nfs-server { - include ferm::nfs-server + package { [ + 'nfs-common', + 'nfs-kernel-server' + ]: + ensure => installed + } - package { - nfs-common: ensure => installed; - nfs-kernel-server: ensure => installed; - } + service { 'nfs-common': + hasstatus => false, + status => '/bin/true', + } + service { 'nfs-kernel-server': + hasstatus => false, + status => '/bin/true', + } - file { - "/etc/default/nfs-common": - source => "puppet:///nfs-server/nfs-common.default"), - require => Package["nfs-common"], - notify => Exec["nfs-common restart"]; - "/etc/default/nfs-kernel-server": - source => "puppet:///nfs-server/nfs-kernel-server.default"), - require => Package["nfs-kernel-server"], - notify => Exec["nfs-kernel-server restart"]; - "/etc/modprobe.d/lockd.local": - source => "puppet:///nfs-server/lockd.local.modprobe"); - } + case $::hostname { + lw01,lw02,lw03,lw04: { + $client_range = '10.0.0.0/8' + } + milanollo,senfter: { + $client_range = '172.29.122.0/24' + } + buxtehude: { + $client_range = '(172.29.40.0/22 206.12.19.126/32)' + } + gretchaninov: { + $client_range = '172.29.40.0/22' + } + default: { + # Better than 0.0.0.0/0 - we really ought to configure a + # client range for them all instead of exporting to the world. + $client_range = '127.0.0.0/8' + } + } - exec { - "nfs-common restart": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", - refreshonly => true; - "nfs-kernel-server restart": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", - refreshonly => true; - } + @ferm::rule { 'dsa-portmap': + description => 'Allow portmap access', + rule => "&TCP_UDP_SERVICE_RANGE(111, $client_range)" + } + @ferm::rule { 'dsa-nfs': + description => 'Allow nfsd access', + rule => "&TCP_UDP_SERVICE_RANGE(2049, $client_range)" + } + @ferm::rule { 'dsa-status': + description => 'Allow statd access', + rule => "&TCP_UDP_SERVICE_RANGE(10000, $client_range)" + } + @ferm::rule { 'dsa-mountd': + description => 'Allow mountd access', + rule => "&TCP_UDP_SERVICE_RANGE(10002, $client_range)" + } + @ferm::rule { 'dsa-lockd': + description => 'Allow lockd access', + rule => "&TCP_UDP_SERVICE_RANGE(10003, $client_range)" + } + + file { '/etc/default/nfs-common': + source => 'puppet:///modules/nfs-server/nfs-common.default', + before => Package['nfs-common'], + notify => Service['nfs-common'], + } + file { '/etc/default/nfs-kernel-server': + source => 'puppet:///modules/nfs-server/nfs-kernel-server.default', + before => Package['nfs-kernel-server'], + notify => Service['nfs-kernel-server'], + } + file { '/etc/modprobe.d/lockd.local': + source => 'puppet:///modules/nfs-server/lockd.local.modprobe', + before => Package['nfs-common'], + notify => Service['nfs-common'], + } }