Puppet Class: fhgfs::client

Inherits:
fhgfs
Defined in:
manifests/client.pp

Overview

Class: fhgfs::client

This module manages FhGFS client

Parameters:

  • user (Any) (defaults to: $fhgfs::user)
  • group (Any) (defaults to: $fhgfs::group)
  • package_ensure (Any) (defaults to: $fhgfs::package_ensure)
  • kernel_ensure (Any) (defaults to: present)
  • interfaces (Any) (defaults to: ['eth0'])
  • interfaces_file (Any) (defaults to: '/etc/fhgfs/client.interfaces')
  • log_level (Any) (defaults to: 3)
  • mgmtd_host (Any) (defaults to: hiera('fhgfs::mgmtd_host', $fhgfs::mgmtd_host))
  • mgmtd_tcp_port (Any) (defaults to: 8008)
  • mgmtd_udp_port (Any) (defaults to: 8008)


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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'manifests/client.pp', line 5

class fhgfs::client (
  $user            = $fhgfs::user,
  $group           = $fhgfs::group,
  $package_ensure  = $fhgfs::package_ensure,
  $kernel_ensure   = present,
  $interfaces      = ['eth0'],
  $interfaces_file = '/etc/fhgfs/client.interfaces',
  $log_level       = 3,
  $mgmtd_host      = hiera('fhgfs::mgmtd_host', $fhgfs::mgmtd_host),
  $mgmtd_tcp_port  = 8008,
  $mgmtd_udp_port  = 8008,
) inherits fhgfs {

  require fhgfs::install
  validate_array($interfaces)

  anchor { 'fhgfs::kernel_dev' : }

  case $::osfamily {
    Debian: {
      ensure_resource('package', 'kernel-package', {
          'ensure' => $kernel_ensure,
          'before' => Anchor['fhgfs::kernel_dev']
        }
      )
      # we need current linux headers for building client module
      ensure_resource('package', 'linux-headers-generic', {
          'ensure' => 'present',
          'before' => Anchor['fhgfs::kernel_dev']
        }
      )
    }
    RedHat: {
      ensure_resource('package', 'kernel-devel', {
          'ensure' => $kernel_ensure,
          'before' => Anchor['fhgfs::kernel_dev']
        }
      )
    }
    default: {
      fail("OS Family '${::osfamily}' is not supported yet")
    }
  }

  file { $interfaces_file:
    ensure => present,
    owner   => $user,
    group   => $group,
    mode    => '0755',
    content => template('fhgfs/interfaces.erb'),
  }

  file { '/etc/fhgfs/fhgfs-client.conf':
    ensure  => present,
    owner   => $user,
    group   => $group,
    mode    => '0755',
    require => [
      Package['fhgfs-utils'],
      File[$interfaces_file],
    ],
    content => template('fhgfs/fhgfs-client.conf.erb'),
  }


  package { 'fhgfs-helperd':
    ensure   => $package_ensure,
  }

  package { 'fhgfs-client':
    ensure   => $package_ensure,
    require  => Anchor['fhgfs::kernel_dev'],
  }

  service { 'fhgfs-helperd':
    ensure   => running,
    enable   => true,
    hasstatus  => true,
    hasrestart => true,
    require  => Package['fhgfs-helperd'],
  }

  file { '/etc/fhgfs/fhgfs-mounts.conf':
    ensure  => present,
    owner   => $user,
    group   => $group,
    mode    => '0755',
    require => Package['fhgfs-client'],
  }

  service { 'fhgfs-client':
    ensure   => running,
    enable     => true,
    hasstatus  => true,
    hasrestart => true,
    require    => [
      Package['fhgfs-client'],
      Service['fhgfs-helperd'],
      File['/etc/fhgfs/fhgfs-mounts.conf'],
      File[$interfaces_file],
    ],
    subscribe => [
      File['/etc/fhgfs/fhgfs-mounts.conf'],
      File[$interfaces_file],
    ],
  }
}