Puppet Class: nfs::service::client

Inherits:
nfs::service::start
Inherited by:
nfs::service::server
Defined in:
manifests/service/client.pp

Summary

Overrides only work with inheritance

Overview

This class exists so I can override parameters set in the nfs::service class. The unit tests for this class take place in the nfs::service tests.

Parameters:

  • client (Any) (defaults to: $nfs::service::client)

    Boolean, should this host be an NFS client

  • server (Any) (defaults to: $nfs::service::server)

    Boolean, should this host be an NFS server

  • client_nfsv3_support (Any) (defaults to: $nfs::service::client_nfsv3_support)

    Boolean, should NFS client have NFSv3 support

  • client_nfsv4_support (Any) (defaults to: $nfs::service::client_nfsv4_support)

    Boolean, should NFS client have NFSv4 support

  • client_kerberos_support (Any) (defaults to: $nfs::service::client_kerberos_support)

    Boolean, should NFS client have kerberos support

  • client_services (Any) (defaults to: $nfs::service::client_services)

    Array of services for any type of NFS client

  • client_v3_helper_services (Any) (defaults to: $nfs::service::client_v3_helper_services)

    Array of services for NFSv3 clients

  • client_v4_helper_services (Any) (defaults to: $nfs::service::client_v4_helper_services)

    Array of services for NFSv4 clients

  • client_kerberos_services (Any) (defaults to: $nfs::service::client_kerberos_services)

    Array of services for NFS kerberos clients



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
# File 'manifests/service/client.pp', line 28

class nfs::service::client (
  $client = $nfs::service::client,
  $server = $nfs::service::server,
  $client_nfsv3_support = $nfs::service::client_nfsv3_support,
  $client_nfsv4_support = $nfs::service::client_nfsv4_support,
  $client_kerberos_support = $nfs::service::client_kerberos_support,
  $client_services = $nfs::service::client_services,
  $client_v3_helper_services = $nfs::service::client_v3_helper_services,
  $client_v4_helper_services = $nfs::service::client_v4_helper_services,
  $client_kerberos_services = $nfs::service::client_kerberos_services,
) inherits nfs::service::start {
  assert_private()

  if $client {
    Service[$client_services] {
      ensure => 'running',
      enable => true,
    }

    if ! $client_nfsv3_support and ! $client_nfsv4_support {
      fail('Requested NFS client, but disabled both v3 and v4 mode')
    }

    if $client_nfsv3_support {
      ensure_resource('service', 'rpcbind.socket', { 'ensure' => 'running', 'enable' => true, })

      Service[$client_v3_helper_services] {
        ensure => 'running',
        enable => true,
      }
    }
    if $client_nfsv4_support {
      Service[$client_v4_helper_services] {
        ensure => 'running',
        enable => true,
      }
    }
    if $client_kerberos_support {
      Service[$client_kerberos_services] {
        ensure => 'running',
        enable => true,
      }
    }
  }

  # server services phase of the inheritance chain
  if $server {
    contain '::nfs::service::server'
  }

}